* Erosion
- 이미지를 침식시키는 것
- 이미지의 경계 부분을 침식시켜서 배경 이미지로 전환한다
- 흐릿한 경계부분을 배경으로 만든다고 생각하면 쉽다
- 작은 (nxn) kernel 창으로 이미지 전체를 훑으면서 kernel 창에 들어온 matrix 값을 변경한다
import cv2
import numpy as np
kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(img, kernel, iterations=1)
- img: erosion을 진행할 원본이미지
- kernel: erosion을 위한 kernel
- iterations: erosion 반복 횟수
* Dilation
- 이미지를 팽창시키는 것
- Erosion과 반대로 동작한다
import cv2
import numpy as np
kernel = np.ones((3, 3), np.uint8)
dilation = cv2.dilate(img, kernel, iterations=1)
- img: dilation을 진행할 원본이미지
- kernel: dilation을 위한 kernel
- iterations: dilation 반복 횟수
출처: https://nicewoong.github.io/development/2018/01/05/erosion-and-dilation/
[Python-OpenCV] Erosion 과 Dilation - nicewoong
M1 = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) 메서드를 활용해서 더 손쉽게 Kernel Matrix 를 생성가능합니다.
nicewoong.github.io
https://webnautes.tistory.com/1257
OpenCV Python 강좌 - 모폴로지 연산 (Morphological Operations)
OpenCV에서 제공하는 Erosion, Dilation, Opening, Closing 연산하는 함수들을 다룹니다. 보통 바이너리 이미지(Binary Image)에서 흰색으로 표현된 오브젝트의 형태를 개선하기 위해 사용됩니다. 마지막 업데이트..
webnautes.tistory.com
'Programming Language > Python' 카테고리의 다른 글
matplotlib.pyplot - subplot, 여러 개의 그래프 그리기 (0) | 2019.12.19 |
---|---|
Python matplotlib.pyplot - imshow(), show() (0) | 2019.12.19 |
Python - for문에서의 range, enumerate (0) | 2019.12.16 |
Python Class (0) | 2019.12.09 |
Python Class - object class 상속 (0) | 2019.12.09 |