민자의 지식창고

모폴로지연산 본문

개발노트/OpenCV

모폴로지연산

전지적민자시점 2020. 8. 4. 16:42

perspective calculate는 모폴로지 변환의 팽창(dilation), 침식(erosion)을 기본연산으로 사용해 고급 형태학을 적용하는 변환 연산 입니다

팽창은 영상에서 객체의 경계선에 픽셀을 추가하는 한면, 침식은 객체 경계선에서 픽셀을 제거 합니다.

  • 팽창 : 이웃에 있는 모든 픽셀 중 최댓값이 출력 픽셀의 값이 됩니다. 2진 영상의 경우, 값이 1인 이웃 픽셀이 하나로 있으면 픽셀은 1으로 설정됩니다.
  • 침식 : 이웃에 있는 모든 픽셀 중 최소값이 출력 픽셀의 값이 됩니다. 이진 영상의 경우, 값이 0인 이웃 픽셀이하나라도 있으면 픽셀은 0으로 설정 됩니다

 

open : 팽창 연산자와 침식 연산자 조합이며, 침식 연산을 적용한 다음, 팽창 연산을 적용합니다. open연산 적용하면, 밝은영역이 줄고 어두운 영역이늘어 납니다.

줄어든 영역을 다시 복구하기 위해 팽창 연상을 적용하면 반대로 어두운 영역이 줄고 밝은 영역이 늘어납니다.

이로 인해 스펙클이 사라지면서 발생한 객체의 크기 감소를 원래 대로 복구 합니다

 

close : open과 반대 , 객체 내부의 홀(holes)이 사라지면서 발생한 크기 증가를 원래대로 복구 할수 있습니다.

 

Gradient : 입력 이미지에 각각 팽창연산과 침식 연상을 적용하여 감산을 진행 합니다. Grayscale 이미지가 가장 급격하게 변하는 곳에서 가장 높은 결과를 반환 합니다

 

TapHat :  국소적인 부분 사라졋던 스펙글 부분들이 표시, 객체들이 제외도고 국소적으로 밝았은 부분들이 분리

 

BlackHat : 어두운 영역이 채워져 사라졋던 홀등이 표시 , 객체들이 제외되고 국소적으로 어두웠던 홀들이 분리

 

HitMist : 단일채널 이미지에 활용하며, 이진화 적용 이미지 전경이나 배경 픽셀의 특정 패턴을 찾는데 사용하는 이진 형태학

 

연산 방법 종류

속성의미

cv2.MORPH_DILATE 팽창 연산
cv2.MORPH_ERODE 침식 연산
cv2.MORPH_OPEN 열림 연산
cv2.MORPH_CLOSE 닫힘 연산
cv2.MORPH_GRADIENT 그레이디언트 연산
cv2.MORPH_TOPHAT 탑햇 연산
cv2.MORPH_BLACKHAT 블랙햇 연산
cv2.MORPH_HITMISS 히트미스 연산

 

 

참고 내용 - 본문은 아래에 있습니다. 해당 글이 문제가 있다면, 삭제 하도록 하겠습니다.

https://076923.github.io/posts/Python-opencv-27/

 

Python OpenCV 강좌 : 제 27강 - 모폴로지 연산 | 076923

모폴로지 연산(Morphological Calculate)

076923.github.io

 

728x90

'개발노트 > OpenCV' 카테고리의 다른 글

Tesseract  (2) 2020.08.10
텍스트 찾기(Text Detection)  (0) 2020.08.07
이미지 Contour  (0) 2020.07.27
CNN모델을 이용한 숫자 인식하기  (0) 2020.07.27
이미지 필터링 -blur  (1) 2020.07.27