首页 新闻中心 技术博客

ENVI中空间滤波的实现

发布时间:2021-10-26 23:55:56   浏览量:2734   作者:GIS前沿

空间滤波通过图像与卷积模板的卷积运算来实现图像滤波。根据卷积模板的不同,可以分为平滑和锐化滤波。

1

平滑滤波

平滑滤波一般用于消除图像中的随机噪声,常见的平滑滤波方法有均值滤波和中值滤波等。在ENVI中打开一个文件,ENVI Classic主菜单→Filter→Convolutions and Morphology,打开Convolutions and Morphology Tool窗口,如下图所示,在该对话框进行平滑或锐化滤波设置。请添加图片描述
Convolutions and Morphology Tool 窗口→Convolutions→Low Pass,进行低通滤波(均值滤波),如下图所示:请添加图片描述
图片

其中Kernel Size用于设置滤波器尺寸只能为奇数,默认值为3,为什么只能是奇数?首先我们要知道滤波器就是邻域分析窗口,卷积运算结果是要放到窗口中间的那个像元上,所以奇数的窗口才符合要求;Image Add Back(0-100)%文本框用于设置背景图像叠加百分比,即原图像在增强后图像中的影响比例。设置这两个参数后,点击Quick Apply按钮可选择某个波段快速进行滤波,或者点击Apply To File…按钮选择整个文件进行滤波。

但是均值滤波在对图像进行平滑的同时也破坏了图像的细节部分,从而使图像变得模糊。滤波器尺寸越大,图像越模糊。下面小编给出了某原始图像和不同滤波器尺寸均值滤波结果的对比图。请添加图片描述
原始图像

请添加图片描述
33均值滤波图像请添加图片描述
9
9均值滤波图像
Convolutions and Morphology Tool窗口→Convolutions→Median,进行中值滤波。相比于均值滤波,中值滤波能够在一定程度上保留图像的细节信息。该方法对椒盐噪声表现比较好,对高斯噪声表现较差;而均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。这时候就会有小伙伴说了,什么叫椒盐噪声和高斯噪声呢?小编大概讲讲两者的区别吧,高斯噪声中噪声的概率密度函数服从高斯分布(即正态分布),即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少。

高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。椒盐噪声是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,往往由图像切割引起。椒盐噪声包括盐噪声(高灰度噪声)、胡椒噪声(低灰度噪声)。两者同时出现时,在图像上呈现为黑白杂点。下面小编给出了某原始图像和不同滤波器尺寸均值滤波结果的对比图。请添加图片描述
原始图像请添加图片描述
33中值滤波图像请添加图片描述
9
9中值滤波图像
2

锐化滤波

锐化滤波一般用于突出边缘和轮廓、线状目标信息,也称为边缘增强。常见的锐化滤波模板有High Pass(高通滤波)算子、Roberts(罗伯特)算子、Sobel(索贝尔)算子和 Laplacian(拉普拉斯)算子等。

在ENVI Classic里面的Convolutions and Morphology Tool窗口→Convolutions→High Pass进行高通滤波。为了实现对高频信息的增强,卷积模板中心值为正值,四周为负值,默认邻域范围是9*9像元。请添加图片描述
请添加图片描述
原始图像请添加图片描述
高通滤波锐化结果

除了高通滤波算子之外,ENVI还提供了基于Roberts算子、Sobel算子和 Laplaciar算子的空间滤波方法。其中Sobel算子和Roberts算子的模板是固定的,不能设置卷积模板尺寸,只能设置叠加背景图像的百分比。

Convolutions and Morphology Tool 窗口→Convolutions→Roberts,基于Roberts 算子进行滤波运算。同样在Convolution 菜单下选择Sobel和Laplacian,可分别进行基于Sobel算子和Laplacian算子的滤波。

请添加图片描述
Sobel算子锐化结果请添加图片描述
Roberts算子锐化结果请添加图片描述
Laplacian算子锐化结果
Roberts和Sobel算子都属于一阶微分算子,检测灰度值的梯度变化,能够有效突出边缘。Roberts算子定位比较准确,但对噪声非常敏感。Sobel算子卷积模板具有平滑效果,能在一定程度上抑制噪声。Laplacian算子属于二阶微分算子,主要用于检测灰度突变的区域。


来源:https://blog.csdn.net/qq_43173805/article/details/119843646