win10+Python3.7.3+OpenCV3.4.1入门学习(七)————7.7空间域滤波和频率域滤波

空间域滤波和频率域滤波

1.空间域滤波

空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值。主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器。平滑可通过低通来实现,平滑的目的有两类,一是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小尖端连接起来;二是去噪。锐化则可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
实现空间域滤波有很多类型,如均值、中值、索贝尔、高斯、拉普拉斯、高斯-拉普拉斯等,但各有差异
A)均值滤波:由fspecial函数生成的w1是一个大小为3*3的矩形平均滤波器,再用imfilter这个函数使这个掩模的中心逐个滑过图像的每个像素,输出为模板限定的相应领域像素与滤波器系数乘积结果的累加和。由处理结果可见均值滤波器的效果使每个点的像素都平均到它的领域去了,噪声明显减少了很多,效果较好。

B)索贝尔滤波:w2是一个大小为33的sobel滤波器sv,用来近似计算垂直梯度,在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。但是Sobel导数并不是真正的导数,这是因为Sobel算子定义于一个离散空间之上,它真正表示的是多项式拟合,用较大的核的话会在更多像素上进行拟合,会更加正确。而较小的核对噪声会更加敏感,此时用sobel算子近似计算导数的缺点精度比较低,这种不精确性在试图估计图像的方向导数 (使用y/x滤波器响应的反正切得到的图像梯度的方向)。比如对于33的Sobel滤波器,梯度角度接近水平或者垂直方向的时候,这样的不准确性会比较明显。由滤波效果可见到图像的边缘凸显了出来,sobel算子主要用于边缘检测。

C)高斯滤波:高斯滤波器是平滑线性滤波器的一种,线性滤波器很适合于去除高斯噪声。而非线性滤波则很适合用于去除脉冲噪声,中值滤波就是非线性滤波的一种。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波器是带有权重的平均值,即加权平均,中心的权重比邻近像素的权重更大,这样就可以克服边界效应。高斯滤波如果采用3×3掩模的具体公式如下:

g(x,y)={f(x-1,y-1)+f(x-1,y+1)+f(x+1,y-1)+f(x+1,y+1)+[f(x-1,y)+f(x,y-1)+f(x+1,y)+f(x,y+1)]*2+f(x,y)*4}/16

其中,f(x,y)为原图像中(x,y)像素点的灰度值,g(x,y)为经过高斯滤波和的值。由处理效果可看出高斯滤波的减噪能力较好。

D)拉普拉斯滤波:拉普拉斯算子是n维欧式空间的一个二阶微分算子。拉普拉斯算子会突出像素值快速变化的区域,因此常用于边缘检测。由效果可见图像的边界得到了增强。

E)中值滤波:中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为33,55区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。中值滤波对于斑点噪声和椒盐噪声来说尤其有用。保存边缘的特性使它在不希望出现边缘模糊的场合也很有用。由上图效果可见中值滤波的效果最好。

由以上分析可知,各种滤波器各有优劣,适用情况也不尽相同,线性滤波器很适合于斜体样式去除高斯噪声,而非线性滤波则很适合用于去除脉冲噪声,如中值滤波很适合去除椒盐噪声。使用起来要视具体实际情况而定。
图像常见噪声基本上有以下四种,高斯噪声,泊松噪声,乘性噪声,椒盐噪声。
1.高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
产生原因:
1)图像传感器在拍摄时市场不够明亮、亮度不够均匀;
2)电路各元器件自身噪声和相互影;
3)图像传感器长期工作,温度过高。
2.泊松噪声,就是符合泊松分布的噪声模型,泊松分布适合于描述单位时间内随机事件发生的次数的概率分布。如某一服务设施在一定时间内受到的服务请求的次数,电话交换机接到呼叫的次数、汽车站台的候客人数、机器出现的故障数、自然灾害发生的次数、DNA序列的变异数、放射性原子核的衰变数等等
3.乘性噪声一般由信道不理想引起,它们与信号的关系是相乘,信号在它在,信号不在他也就不在。
4.椒盐噪声,椒盐噪声又称脉冲噪声,它随机改变一些像素值,是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。

2.频率域滤波

傅里叶变换
高斯低通滤波:
巴特沃斯低通滤波
低通滤波滤掉了图像频谱中的高频成分,仅让低频部分通过,即变化剧烈的成分减少了,结果是使图像变模糊。

你可能感兴趣的:(Python-OpenCV,空域滤波和时域滤波)