Skip to main content

Как работает инструмент Фильтр

Доступно с лицензией Spatial Analyst.

Инструмент Фильтр можно использовать либо для удаления ложных данных, либо для выделения объектов, которые могут не распознаваться в данных. Фильтры, по сути, создают выходные значения с помощью движущегося окна покрывающего окрестность размером 3x3 ячейки, которое сканирует входной растр. Как только фильтр проходит через входную ячейку, значение этой ячейки и значение 8 окружающих соседних ячеек используются для вычисления выходного значения.

В инструменте доступны два типа фильтра: низкочастотный и высокочастотный.

Типы фильтров

Фильтр типа Низкочастотный использует низкочастотный, или усредняющий фильтр по входному растру и существенно сглаживает данные. Фильтр типа Высокочастотный использует высокие частоты для подчеркивания ребер и границ между объектами, представленными в растре.

Низкочастотный фильтр

Низкочастотный фильтр сглаживает данные, уменьшая локальную вариабельность и удаляя шум. Он вычисляет среднее значение для каждой окрестности 3х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:

В примере показан результирующий растр, созданный инструментом Фильтр с опцией Низкочастотный для небольшого растра, размером 5 x 5 ячеек.

Для иллюстрации, как обрабатываются ячейки со значениями NoData, ниже показаны выходные значения с отмеченным параметром Игнорировать значение NoData при вычислениях (установлено на DATA в Python) и неотмеченным параметром (установлено на NODATA в Python):

  • Входные значения ячеек:
 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
  • Выходные значения ячеек с отмеченным параметром Игнорировать значение NoData при вычислениях (ячейки 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

В примере ниже входной растр содержит аномальную точку данных, вызванную ошибкой сбора данных. Усреднение в опции Низкочастотный сгладит аномальную точку данных.

Фильтр с опцией Низкочастотный

Пример выходных данных инструмента Фильтр с опцией Низкочастотный

Высокочастотный фильтр

Высокочастотный фильтр подчеркивает сравнительное различие в значениях с соседями. Это позволяет подчеркнуть границы между пространственными объектами (например, границу между водным массивом и лесом), выделяя ребра между объектами. Часто такой фильтр называется фильтром улучшения границ.

С опцией Высокочастотный 9 входных z-значений взвешиваются таким образом, чтобы удалить низкочастотную вариабельность и выделить границу между различными областями.

Фильтр 3 х 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 4

Вычисление обрабатываемой ячейки (центральной входной ячейки со значением 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. Опция характеристики улучшения ядра Высокочастотный выделила ядро.

Фильтр с опцией Высокочастотный

Обработка ячеек со значением NoData

Параметр Игнорировать значение NoData при вычислениях (Ignore NoData in calculations) определяет, как в окне окрестности обрабатываются ячейки со значением NoData. Если эта опция включена (опция DATA в Python) любые ячейки 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.