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