OpenCV морфологический дилатационный фильтр как максимальный фильтр - PullRequest
1 голос
/ 18 апреля 2011

Как и определение медианного фильтра, я могу определить «максимальный фильтр» как для локального окна

например. dst (x, y) = max (3x3 пикселя локального окна)

Но я не могу найти такой фильтр в opencv, ближайший из них - функция "dlate"

Тогда я использую конфигурацию по умолчанию для функции "dlate", но результат неверный сравните с моей грубой силой реализации максимального фильтра.

Я обнаружил, что для случая 3x3 эквивалентная расширенная конфигурация должна использовать элемент прямоугольной структуры 1x1, то есть

dilate(src, dst, getStructuringElement(MORPH_RECT, Size(1,1)))

Мои вопросы:

  1. Мне показалось нелогичным, что я думал, что элемент структуры эквивалентен локальному окну. Но теперь размер локального окна составляет всего 1x1 пиксель?

  2. Что если увеличится локальное окно моего максимального фильтра (например, 5x5, 7x7)? Есть ли связь между максимальным и дилатационным фильтрами?

1 Ответ

2 голосов
/ 18 апреля 2011

Пример реализации в Mathematica:

enter image description here

Но Расширение [] также принимает структурирующее ядро:

enter image description here

...