Морфологічні методи обробки бінарного зображення є набором математично визначених нелінійних операцій результат яких залежить не стільки від значень пікселів, а більше від геометричної форми об'єктів на зображенні. Форма зображення послідовно зондується іншим невеликим еталонним зображенням, яке називається структурним елементом:
Жирна точка позначає центр структурного елемента.
Стандартні структурні елементи в OpenCV --- хрест, прямокутник, еліпс:
cross = cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
rect=cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
rect=cv2.getStructuringElement(cv2.MORPH_RECT,(1,3))
rect=cv2.getStructuringElement(cv2.MORPH_RECT,(5,1))
elips=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
Також структурні елементи довільної форми можна конструювати самому як numpy-масиви:
rect=np.ones((5,5),np.uint8)
rect
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]], dtype=uint8)
st_el = np.array([[1, 1, 0, 1], [1, 0, 0, 1], [1, 1,0, 1]], dtype=np.uint8)
st_el
array([[1, 1, 0, 1],
[1, 0, 0, 1],
[1, 1, 0, 1]], dtype=uint8)
Немає коментарів:
Дописати коментар