모폴로지

매일 공부(ML)·2021년 12월 13일
0

OPEN CV

목록 보기
39/45

1) 침식과 팽창

침식(erosion)

객체 크기는 감소 & 배경은 확대

구조 요소가 객체 내부에 완전히 포함될 경우 고정점 픽셀을 255로 설정

팽창(dilation)

구조 요소와 객체 영역이 한 픽셀이라도 만날 경우 고정점 픽셀을 255로 설정

객체 크기는 감소 & 배경은 확대

이진 영상의 침식과 팽창 예제

src = cv2.imread('circuit.bmp', cv2.IMREAD_GRAYSCALE)

se = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 3))
dst1 = cv2.erode(src, se)

dst2 = cv2.dilate(src, None)

결과

2) 열기와 닫기

열기 = 침식 → 팽창

침식 후 팽창

닫기 = 팽창 → 침식

팽창 후 침식

열기 연산을 이용한 잡음 제거 예제

src = cv2.imread('rice.png', cv2.IMREAD_GRAYSCALE)

dst1 = np.zeros(src.shape, np.uint8)

# src 영상에 지역 이진화 수행 (local_th.py 참고)

cnt1, _ = cv2.connectedComponents(dst1)
print('cnt1:', cnt1)

dst2 = cv2.morphologyEx(dst1, cv2.MORPH_OPEN, None)
# 아래와 동일
#dst2 = cv2.erode(dst1, None)
#dst2 = cv2.dilate(dst2, None)

cnt2, _ = cv2.connectedComponents(dst2)
print('cnt2:', cnt2)

결과

profile
성장을 도울 아카이빙 블로그

0개의 댓글