把几张GF1的影像镶嵌在一起后,结果在Arcgis里出现了明显的斑点情况(在ENVI里显示则不会出现),个人觉得可能是斑点噪声问题,遂用Arcgis的滤波工具进行滤波处理,但由于该工具本身没有直接设置对多波段处理方式的参数,但如果输入的是多波段影像,默认会对所有波段进行相同的滤波处理。若只想对部分波段进行滤波,可先通过 “波段提取” 工具提取出需要的波段,再将提取后的单波段影像作为输入数据进行滤波处理。
于是采取了先提取各个波段后然后逐一进行滤波的操作,最后再进行波段合成,发现斑点消失,大功告成。
下面针对这一系列操作做一个简单的总结。
基本概念:此处为原文链接:https://blog.csdn.net/qq_50559644/article/details/123925265
一、滤波概述及知识扩展
卷积滤波是通过消除特定的空间频率来增强图像。它们的核心部分是卷积核,ENVI提供很多卷积核,包括高通滤波、低通滤波、拉普拉斯算子、方向滤波、高斯高通滤波、高斯低通滤波、中值滤波、Sobel、Roberts,还可以自定义卷积核。
1.高通滤波
高通滤波(high-pass filter)是一种过滤方式,规则为高频信号能正常通过,而低于设定临界值的低频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。它有的时候也被叫做低频去除过滤(low-cut filter)。
2.低通滤波
低通滤波(Low-pass filter)是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。它有的时候也被叫做高频去除过滤(high-cut filter)或者最高去除过滤(treble-cut filter)。
3.拉普拉斯算子
在数学以及物理中,拉普拉斯算子或是拉普拉斯算符(英语:Laplace operator,Laplacian)是一个微分算子,通常写成 Δ 或 ∇²;这是为了纪念皮埃尔-西蒙·拉普拉斯而命名的。拉普拉斯算子有许多用途,此外也是椭圆型算子中的一个重要例子。在物理中,常用于波方程的数学模型、热传导方程以及亥姆霍兹方程。在静电学中,拉普拉斯方程和泊松方程的应用随处可见。在量子力学中,其代表薛定谔方程式中的动能项。在数学中,经拉普拉斯算子运算为零的函数称为调和函数;拉普拉斯算子是霍奇理论的核心,并且是德拉姆上同调的结果。
4.高斯滤波
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
5.中值滤波
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为3*3,5*5区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。
6.Sobel
Sobel 算子结合了Gaussian平滑和微分,所以,其结果或多或少对噪声有一定的鲁莽性。通常情况,函数调用采用如下参数 (xorder=1, yorder=0, aperture_size=3) 或 (xorder=0, yorder=1, aperture_size=3) 来计算一阶 x-或y-方向的图像差分。由于该函数不进行图像尺度变换,所以和输入图像(数组)相比,输出图像(数组)的元素通常具有更大的绝对数值。
1、ENVI的滤波操作(非SARscape中的滤波)
首先声明在ENVI里的操作对于上述出现的问题并无作用,此处只做简单的滤波操作科普,具体原理不予讲解,有兴趣的读者请自行查阅。
1)打开ENVI/TOOLbox/Filter/Convolutions and Morphology 卷积和形态 选择低通或者高通滤波器,如下图所示:
下图为高通滤波的设置情况,可设置:低通/高通滤波、卷积核、加回值,一般设置为5*5 40%加回值,本次选择低通滤波。
低通滤波的设置相对简单,如下即可,设置后点击Apply To File,选择影像即可。
2、Arcgis的波段提取、滤波及波段组合
如标题所示,为三个步骤,首先是对多光谱影像进行波段提取(本次选取的影像为GF1影像,故为4个波段),然后对各个波段进行低通滤波操作后,进行波段合成。
1)波段提取
此处有两种操作方式;
a)使用数据管理工具/图层和表视图/创建栅格图层,对每个波段进行输出,如下图所示;
选择输入和输出栅格以及波段,可对不同波段进行输出。
b)通过窗口函数进行操作,步骤如下图所示:
打开影像分析/点击影像/点击函数
插入函数/波段提取函数
选择波段/确定
自动生成文件Func开头(此处对应波段1,即band1,后续Func123对应波段2/3/4)
也可以对生成的单波段文件进行数据导出
2)低通滤波操作
本操作较为简单,一步操作即可。
打开Spatial Analyst工具/邻域分析/滤波器,选择输入栅格和输出栅格即可,由于操作过程文件已删除,此处拿其他的影像进行演示;
如下图所示,选择输入和输出栅格,滤波器类型选择LOW即为低通滤波,HIGH则为高通滤波。
3)波段合成
本操作相对简单,选择输入的各个波段,然后选择输出路径及名称即可。
a、打开波段合成工具,如图所示;
2、选择输入的各波段栅格数据(.tif/.dat)此处由于过程文件已删除,就随便找了一些影像来代替,如下图所示,选择输入栅格和输出栅格即可;
3、在属性/符号系统里设置RGB的对应波段,如下图所示。
在做这个处理的时候,出现了一个Error:99999的错误,经检查,原因是融合信息量过大、输出内存不足,此处我的处理方式为让它输出到自动路径(C盘那个),然后再导出栅格数据到其他盘,各位同仁若有其他好的解决办法,请在评论区或私聊告知一些,感谢!~