Loading [MathJax]/jax/output/HTML-CSS/jax.js

понеділок, 10 травня 2021 р.

Ерозія

Mathedemo
Ерозією бінарного зображення A по структурному елементу B називається нове зображення, яке позначається AB, і яке визначається формулою AB={z(B)zA}, де (B)z={ww=z+b,bB}. Інакше кажучи, ерозія множини A по B це множина всіх таких точок A, при зсуві в які множина B цілком міститься в A.

Ерозія замінює межові пікселі об'єкту зображення на пікселі фону, розмиваючи межу і вилучає ізольовані об'єкти якщо їхні розміри менші за розміри структурного елемента.

В OpenCV ерозію виконує функція erode:

img=icv2.imread('Ji.jpg', 0)
''' Бінаризуємо зображення '''
img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)[1]
#Визначаємо структурний елемент як 5-квадрат заповнений одиницями
rect = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5)) 
# виконуємо чотири рази  ерозію
erosion = cv2.erode(img,rect,iterations = 4) 
В результаті отримаємо
Чотириразова ерозія бінарного зображення (ліворуч) по 5×5-квадраті і по 5×5-хресту.

Збільшення розмірів структурного елементу призведе до видалення більших деталей зображення.

Для напівтонових зображень ерозія зображення A по B в довільній точці (x,y) визначається як мінімальне значення пікселів, які покриває структурний елемент B коли його центр знаходиться в точці (x,y) і задається формулою (AB)(x,y)=mins,tBA(x+s,y+t)

Немає коментарів:

Дописати коментар