C/C++语言图像处理:各种滤波 高斯 中值 均值

文章目录

  • 常见噪声及常用滤波方式
    • 一、常见噪声分类:
      • 高斯噪声
      • 椒盐噪声
    • 二、常见滤波方式
      • 1、中值滤波
      • 2、均值滤波
      • 3、高斯滤波
    • 三、完整代码

常见噪声及常用滤波方式

一、常见噪声分类:

高斯噪声

C/C++语言图像处理:各种滤波 高斯 中值 均值_第1张图片

高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
产生原因:
1)图像传感器在拍摄时市场不够明亮、亮度不够均匀;
2)电路各元器件自身噪声和相互影响;
3)图像传感器长期工作,温度过高。

椒盐噪声

C/C++语言图像处理:各种滤波 高斯 中值 均值_第2张图片

椒盐噪声,椒盐噪声又称脉冲噪声,它随机改变一些像素值,是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
产生原因:
1)椒盐噪声往往由图像切割引起。

二、常见滤波方式

1、中值滤波

C/C++语言图像处理:各种滤波 高斯 中值 均值_第3张图片

中值滤波是统计排序滤波器,通过对邻域内所有像素的排序,然后取其 中值为邻域中心的像素。
1.该方法 不适合处理高斯噪声,但处理离散的点噪声效果明显。
2.该方法 忽略了像素点间的相关性,当目标图像细节纹理复杂时,中值滤波的结果会破坏其不分纹理。

2、均值滤波

C/C++语言图像处理:各种滤波 高斯 中值 均值_第4张图片

均值滤波是一种线性滤波器,处理思路也很简单,就是将一个窗口区域中的像素计算平均值,然后将窗口中计算得到的均值设置为锚点上的像素值。
该算法有优点在于效率高,思路简单。同样,缺点也很明显,计算均值会将图像中的边缘信息以及特征信息“模糊”掉,会丢失很多特征。

3、高斯滤波

C/C++语言图像处理:各种滤波 高斯 中值 均值_第5张图片

高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的 加权平均灰度值 去替代模板中心像素点的值。
1.高斯滤波是平滑线性滤波器,在对邻域内像素灰度平均时赋予了 不同位置不同的权值,越靠近邻域中心权值越大。
2.高斯滤波技能平滑噪声,也能保留图像的整体灰度分布特征;
3.高斯滤波公式是各向同性扩散方程,在图像边缘处沿切向和法向是同等扩散的,所以绝大多数 边缘和细节纹理特征被模糊掉,损失了大量的信息。
4.高斯滤波 适合处理均值为零的高斯噪声,但 处理离散的点噪声时,会损失大量细节信息。

三、完整代码

例程和完整代码可以具体参考我的资源
https://download.csdn.net/download/CharlieYYang/13460186
完整代码和例程实现

你可能感兴趣的:(C语言,图像处理,滤波,图像处理,图像识别)