过滤器的工作原理

滤波器工具既可用于消除不必要的数据,也可用于增强数据中不明显的要素的显示。实际上,滤波器通过移动、叠置的 3x3 像元邻域窗口扫描输入栅格来创建输出值。滤波器经过每个输入像元时,该像元及其 8 个直接相邻位置的值将用于计算输出值。

在此工具中可使用两种类型的滤波器:低通型和高通型。

滤波器的类型

滤波器类型 LOW 在输入栅格上采用低通滤波器或平均滤波器,并对数据进行实质上的平滑处理。滤波器类型 HIGH 使用高通滤波器来提高栅格中表示的要素之间的边缘和边界。

低通滤波器

低通滤波器通过减少局部变化和移除噪声来平滑数据。它用于计算每个 3 x 3 邻域的平均值。这基本上等同于含平均值统计选项的焦点统计工具。其目的就是对每个邻域内的高数值和低数值进行平均处理,以减少数据中的极端值。

示例 1

以下是一个待处理像元(中心像元值为 8)的输入邻域值的示例。

 7 5 2
 4 8 3
 3 1 5

计算该待处理像元(中心输入像元的值为 8)是为了得到输入像元的平均值。该平均值为邻域包含的所有输入值的总和除以邻域中像元的数量 (3 x 3 = 9)。

 Value = ((7 + 5 + 2) + (4 + 8 + 3) + (3 + 1 + 5)) / 9 
       = 38 / 9
       = 4.222

将得到待处理像元位置处的输出值为 4.22。

由于是计算所有输入值的平均值,因此列表中的最大值(即待处理像元值 8)会平均掉。

示例 2

此示例显示了含 LOW 选项的滤波器在 5x5 的小像元栅格上生成的栅格。

要说明 NoData 像元的处理方式,可先将“忽略 NoData 参数”设置为 Data,然后再设置为 NODATA,输出值如下:

  • 输入像元值:
     2.000   3.000   4.000   5.000   6.000
     2.000   3.000   4.000   NoData  6.000
     2.000   3.000   4.000   5.000   6.000
     2.000  30.000   4.000   5.000   NoData
     1.000   2.000   2.000   3.000   NoData
  • 设置了 DATA 选项的输出像元值(计算时将忽略滤波器窗口中的 NoData 像元):
     2.500   3.000   3.800   5.000   5.667
     2.500   3.000   3.875   5.000   5.600
     7.000   6.000   7.250   4.857   5.500
     6.667   5.556   6.444   4.143   4.750
     8.750   6.833   7.667   3.500   4.000
  • 设置了 NODATA 选项的输出像元值(如果滤波器窗口中有任何 NoData 像元,则输出将为 NoData)。
     NoData  NoData  NoData  NoData  NoData
     NoData  3.000   NoData  NoData  NoData
     NoData  6.000   NoData  NoData  NoData
     NoData  5.556   6.444   NoData  NoData
     NoData  NoData  NoData  NoData  NoData

示例 3

在下面的示例中,输入栅格中含有因数据采集错误造成的异常数据点。LOW 选项的平均化特征对这些异常数据点进行了平滑处理。

带有 Low 选项的滤波器
使用 LOW 选项的滤波器输出示例

高通滤波器

高通滤波器着重强调某个像元值与其相邻元素数值之间的相对差异。它的作用是突出要素之间的边界(如水体与森林的交界处),从而锐化对象的边缘。通常被称作边缘增强滤波器。

使用 HIGH 选项,九个输入 z 值按照移除低频变化并强调不同区域间的边界的方式进行加权。

LOW 选项的 3 x 3 滤波器为:

 -0.7  -1.0  -0.7
 -1.0   6.8  -1.0
 -0.7  -1.0  -0.7

请注意,由于进行了规范化,核中的值总和为 0。

“高通”滤波器本质上等同于含总和统计选项和特定加权核的焦点统计工具。

虽然输出 z 值指示了表面的平滑度,但是它们与原始 z 值没有任何关联。边缘上边为正值并且边缘下边为负值时,将 z 值分配为零。z 值接近零的区域为坡度几乎恒定的区域。值接近最小 z 值和最大 z 值的区域为坡度快速变化的区域。

示例 1

以下是一个待处理像元(中心像元值为 8)计算的简单示例:

 7 5 2
 4 8 3
 3 1 5

按以下方式对待处理像元(中心像元值为 8)进行计算:

 Value = ((7*-0.7) + (5*-1.0) + (2*-0.7) +
          (4*-1.0) + (8*6.8)  + (3*-1.0) + 
          (3*-0.7) + (1*-1.0) + (5*-0.7))
       = ((-4.9 + -5.0 + -1.4) +
          (-4.0 + 54.4 + -3.0) +
          (-2.1 + -1.0 + -3.5)
       = -11.3 + 47.4 + -6.6
       = 29.5

将得到此待处理像元的输出值为 29.5。

通过赋予其相邻元素负权重,滤波器将对象间的差异或边界分开来着重强调局部细节。

示例 2

在以下示例中,输入栅格沿值从 5.0 变化到 9.0 的区域有一个凸出边缘。HIGH 选项的边缘增强特性会检测到该边缘。

带有 High 选项的滤波器

NoData 的待处理像元

在计算中忽略 NoData 选项可控制邻域窗口内 NoData 像元的处理方式。选中此选项时(DATA 选项),输出像元值的计算将会忽略邻域中的所有 NoData 像元。取消选中此选项时(NODATA 选项),如果邻域中存在任何 NoData 像元,则输出像元将为 NoData。

如果处理的像元本身就是 NoData,则在选择“忽略 NoData”选项后,将根据邻域中具有有效值的其他像元来计算像元的输出值。当然,如果邻域中的所有像元均为 NoData,则无论如何设置此参数,输出都将为 NoData。

参考书目

Gonzalez, R. C., and P. Wintz. 1977. Digital Image Processing.Massachusetts:Addison–Wesley.

Hord, R. M. 1982. Digital Image Processing of Remotely Sensed Data.New York:Academic.

Moik, J. G. 1980. Digital Processing of Remotely Sensed Images.New York:Academic.

Richards, J. A. 1986. Remote Sensing Digital Image Analysis:An Introduction.Berlin:Springer-Verlag.

Rosenfeld, A. 1978. Image Processing and Recognition, Technical Report 664. University of Maryland Computer Vision Laboratory.

相关主题

5/10/2014