exponenta event banner

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 и 0s. domain эквивалентен элементу структурирования, используемому для операций с двоичными изображениями. 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"s.
'symmetric'

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

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

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

свернуть все

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

Совет

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

Ссылки

[1] Харалик, Роберт М. и Линда Г. Шапиро, Computer and Robot Vision, том I, Addison-Wesley, 1992.

[2] Хуан, Т.С., Г.Й. Янг и Г.Я. Танг. «Алгоритм быстрой двумерной медианной фильтрации»., транзакции IEEE по акустике, обработке речи и сигналов, том ASSP 27, № 1, февраль 1979 г.

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

..

См. также

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