Розмикання множини A по структурному елементу B позначається A∘B і визначається рівністю
A∘B=(A⊖B)⊕B.
Таким чином, розмикання множини A по B спочатку будується як ерозія A по B після якої застосовується дилатація по B. В результаті
розмикання згладжує контури об'єкта, обриває вузькі перешийки, ліквідує виступи невеликої ширини і вилучає об'єкти розміри яких менші за розміри структурного елементу.
В OpenCV фільтр розмикання виконує функція cv2.morphologyEx() з параметром cv2.MORPH_OPEN:
rect = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, rect)
Приклад розмикання зображення зашумленого шумом 'сіль' а також дрібними об'єктами -- двома колами радіусу 2 і одним колом радіусу 4 пікселі:
Розмикання зашумленого ('сіль') зображення по 5×5-квадраті (посередині) і по 5×5-хресті (праворуч).
Як бачимо, імпульсний шум повністю видаляється обома структурними елементами, кола радіусу 2 -- структурним елементом 5×5-квадрат, коло радіусу 4 частково залишилося.
Проте, імпульсний шум типу 'перець' розмиканням не видаляється:
Розмикання зашумленого ('перець') зображення по 5×5-квадратові (посередині) і по 5×5-хресті (праворуч).
Немає коментарів:
Дописати коментар