ordfilt2

2D статистическая порядком фильтрация

Описание

пример

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

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

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

Примеры

свернуть все

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

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

Отфильтруйте изображение и отобразите результат.

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

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

свернуть все

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

Типы данных: 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'Заполните границы массива 0S.
'symmetric'

Заполните массив зеркальными отражениями себя.

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

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

свернуть все

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

Советы

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

Ссылки

[1] Haralick, Роберт М., и Линда Г. Шапиро, компьютер и видение робота, объем I, Аддисон-Уэсли, 1992.

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

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

Смотрите также

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