ordfilt2

2-D статистическую фильтрацию порядка точности

Описание

пример

B = ordfilt2(A,order,domain) заменяет каждый элемент в A по orderпервый элемент в отсортированном наборе соседей, заданный ненулевыми элементами в domain.

B = ordfilt2(A,order,domain,S) фильтры A, где ordfilt2 использует значения S соответствует ненулевым значениям domain как аддитивные смещения. Можно использовать этот синтаксис для реализации морфологических операций полутонового цвета, включая расширение полутонового цвета и эрозию.

B = ordfilt2(___,padopt) фильтры A, где padopt задает, как ordfilt2 заполняет контуры матрицы.

Примеры

свернуть все

Считывайте изображение в рабочую область и отображайте его.

A = imread('snowflakes.png');
figure
imshow(A)

Figure contains an axes. The axes contains an object of type image.

Фильтрация изображения и отображение результата.

B = ordfilt2(A,25,true(5));
figure
imshow(B)

Figure contains an axes. The axes contains an object of type image.

Входные параметры

свернуть все

Данные для фильтрации, заданные как 2-D числовая матрица или 2-D логическая матрица.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Элемент для замены целевого пикселя, заданный как действительное скалярное целое число.

Типы данных: double

Окрестность, заданная как числовая или логическая матрица, содержащая 1s и 0с. domain эквивалентен элементу структурирования, используемому для бинарных изображений. The 1-значенные элементы определяют окрестность для операции фильтрации. В таблице приведены примеры некоторых распространенных фильтров.

Тип операции фильтрацииКод MATLABРайонОбразец данных изображения, указывающий на выбранный элемент
Медианный фильтрB = ordfilt2(A,5,ones(3,3))
Минимальный фильтрB = ordfilt2(A,1,ones(3,3))
Максимальный фильтрB = ordfilt2(A,9,ones(3,3))
Минимум северных, восточных, южных и западных соседейB = ordfilt2(A,1,[0 1 0; 1 0 1; 0 1 0])

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Смещения аддитива, заданные как числовая матрица того же размера, что и domain.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Опция заполнения, заданный как одно из следующих значений.

ОпцияОписание
'zeros'Дополните контуры массивом с 0"с.
'symmetric'

Массив подушек с зеркальными отражениями самого себя.

Типы данных: char | string

Выходные аргументы

свернуть все

Отфильтрованные данные, возвращенные как 2-D числовая матрица или 2-D логическая матрица того же класса, что и входные данные A.

Совет

  • При работе с матрицами больших областей, которые не содержат никаких нулевых элементов, ordfilt2 может достичь более высокой эффективности, если A находится в целочисленном формате данных (uint8, int8, uint16, int16). Коэффициент усиления скорости больше для uint8 и int8 чем для 16-битных типов данных. Для 8-битных форматов данных матрица области должна содержать семь или более строк. Для 16-битных форматов данных матрица области должна содержать три или более строк и 520 или более элементов.

Ссылки

[1] Haralick, Robert M., and Linda G. Shapiro, Computer and Robot Vision, Volume I, Addison-Wesley, 1992.

[2] Huang, T.S., G.J.Yang, and G.Y.Tang. «Быстрый двумерный алгоритм медианной фильтрации»., транзакции IEEE по акустике, обработке речи и сигналов, Vol ASSP 27, № 1, февраль 1979 г.

Расширенные возможности

..

См. также

Представлено до R2006a