OpenCV 비전 실무9장 · Morphology: 침식, 팽창, 열기, 닫기20 / 21← 이전목차다음 →MetaContents

9장. Morphology: 침식, 팽창, 열기, 닫기

정리

두 동작, 두 조합, 고르는 법의 세 칸으로 9장을 요약한 인포그래픽
  • 모폴로지는 이진 그림의 흰 덩어리 모양을 깎거나 부풀려 고치는 일입니다. 이진화 뒤에 남은 잡티, 구멍, 끊긴 획을 다듬어 개수와 넓이를 바로 잴 수 있게 합니다.
  • 구조 요소는 1 과 0 으로 된 모양 도장입니다. cv2.getStructuringElement 로 네모(RECT), 십자(CROSS), 타원(ELLIPSE)을 만들고, 크기는 3, 5, 7 처럼 홀수로 줍니다. 6장의 커널과 달리 곱해 더하지 않습니다.
  • 침식(cv2.erode)은 도장 안이 모두 흰 칸일 때만 흰색을 남겨 흰 덩어리를 한 겹 깎고, 팽창(cv2.dilate)은 하나라도 흰 칸이 있으면 흰색으로 만들어 한 겹 부풀립니다. 8×8 그림에서 흰 칸 18개가 침식 뒤 4개, 팽창 뒤 47개가 되었습니다.
  • 세기는 도장 크기와 iterations 로 정합니다. 3×3 네모 도장 n 번은 (2n + 1)×(2n + 1) 네모 도장 한 번과 같았고, 도형 판을 9×9 로 침식하면 가는 선과 고리가 사라지고, 5×5 로 팽창하면 4 칸 떨어진 두 원이 붙었습니다.
  • 열기(MORPH_OPEN)는 침식 → 팽창으로 흰 잡티를 지웁니다. 잡티 낀 글자에서 열기 5×5 는 흰 덩어리를 47개에서 본래 글자 수 5개로 되돌렸고, 같은 그림에 Median 3 은 47개, Median 5 는 27개를 남겼습니다.
  • 닫기(MORPH_CLOSE)는 팽창 → 침식으로 구멍과 틈을 메웁니다. 끊긴 글자에서 닫기 5×5 가 덩어리 9개를 5개로, 다른 칸 512개를 151개로 줄였고, 9×9 부터는 글자끼리 붙어 덩어리가 1개가 되었습니다.
  • 잡티와 구멍이 함께 있으면 순서도 고릅니다. 글자 그림에서는 닫기 → 열기가 맞힌 칸 비율 0.993 으로 열기 → 닫기(0.977)보다 나았고, 부품 검사 사진에서도 닫기 → 열기, 타원 7×7 이 두 사진의 부품 수를 맞히며 평균 0.987 로 가장 좋았습니다. 그림 가장자리에 붙은 잡티는 열기로 지워지지 않을 수 있습니다.
← 이전 절9장 · 프로젝트 1 — 부품 검사 사진의 이진 마스크 다듬기다음 절 →9장 · 확인문제와 해답