ENVI中傅里叶变换
傅里叶变换是将图像从空间域转换到频率域。首先,把图像波段转换成一系列不同频率的二维正弦波傅里叶图像;然后,在频率域内对傅里叶图像进行滤波、掩膜等各种操作,减少或者消除部分高频或者低频成份;最后,把频率域的傅里叶图像变换为空间域图像。傅里叶变换主要是用于消除周期性噪声,还可以消除由于传感器异常引起的规律性错误。
5.4.1 快速傅里叶变换(FFT)
应用傅里叶变换的第一步是把图像波段转换成一系列不同频率的二维正弦波傅里叶图像。这个过程由快速傅里叶变换(FFT)来完成,具体操作如下:
- 打开一个TM图像。
- 在Toolbox工具箱中,双击Filter/FFT (Forward)工具。在Forward FFT Input File对话框中,选择输入图像文件。
- 在Forward FFT Parameters对话框中,选择输出路径及文件名。
在Data Manager中,选择一个FFT波段加载到视窗中(图5.14)。从图上看,中间很亮的部分集中了图像的低频信息,外围较暗的部分集中了图形的高频信息,图中的外边框两个较明显的小白条是周期性条带噪声,方向与空间域中图像垂直。
图5.14 FFT图像
5.4.2 定义FFT滤波器
在快速傅里叶变换得到的结果上,可以定义一些滤波器进行频率域的增强处理,过程如下:
- 在Toolbox工具箱中,双击Filter/FFT Filter Definition工具。
- 在Filter Definition对话框中(图5.15),在Samples和Lines文本框中键入滤波器的尺寸大小。选择Filter_Type→滤波器类型。选择不同的滤波器类型时,需要设置的参数不一样,如果选择自定义滤波器(User Defined),还需要借助注记工具。下面对各种滤波做一个介绍:
图5.15 Filter Definition对话框
- Circular Pass和Circular Cut
Circular Pass为低通滤波器,Circular Cut为高通滤波器。需要在Radius文本框中,以像元为单位输入滤波半径。Number of Border Pixels参数用于细化滤波器(平滑滤波器的边缘),零值代表没有平滑。
- Band Pass和Band Cut
对于Band Pass或Band Cut滤波器,在Inner Radius和Outer Radius文本框中,以像元为单位键入所需值,构成一个圆环,Band Pass滤波器保留圆环以外的能量谱(FFT图像),Band Cut是保留圆环以内的能量谱。Number of Border Pixels参数用于细化滤波器(平滑滤波器的边缘),零值代表没有平滑。
- User Defined Pass和Band Cut
User Defined Pass和“User Defined Cut滤波器,可以将ENVI的形状注记导入滤波器。
提示:注记文件需要在ENVI Classic中构建,具体方法如下:
- 启动ENVI Classic,打开FFT正向变换后的图像。
- 在显示正向变换的FFT图像的主图像窗口中,选择Overlay→Annotation。通过在FFT图像上绘制多边形或其他形状,勾绘出特定的噪声区域(一般说来,FFT图像中的亮斑、行或楔形条带等代表噪声)。
- 要构建一个适当对称的FFT滤波器,在注记窗口中,选择Options→Turn Mirror On。将绘制的注记保存为文件(.ann)。
- 回到Filter Definition对话框中,单击Ann File按钮,选择刚才绘制的注记文件。User Defined Pass滤波器是保留形状注记以内的能量谱,User Defined Cut保留以外的能量谱。
- 选择输出滤波器文件的路径及文件名,单击Apply。输出的滤波器为0和1的二值图。图5.16展示了几种滤波器的效果图。
图5.16 几种滤波器效果图
5.4.3 反向FFT变换
ENVI反向FFT变换程序包含两步操作,先应用FFT滤波,然后将FFT图像反变换回空间域数据。操作过程如下:
- 在Toolbox工具箱中,双击Filter/FFT (Inverse)工具,在Inverse FFT Input File对话框中,选择FFT图像,单击OK按钮。
- 在Inverse FFT Filter File对话框中,选择应用的滤波图像,单击OK按钮。
在Inverse FFT Parameters窗口,选择输出文件路径及文件名。在适当的下拉菜单中,选择输出数据的类型(字节型,整型,浮点型等),单击OK按钮处理图像。
摘自《ENVI图像处理方法 第二版》高等教育出版社