백인감자
[OpenCV 3.0]watershed 함수 본문
watershed
- 워터쉐드 변환 : 영상을 빨리 분할해 동일한 영역으로 만들기 위해 사용하는 영상처리 알고리즘.
예제 코드
출처: http://stackoverflow.com/questions/11435974/watershed-segmentation-opencv-xcode
분석 및 결과
erode 1회 적용
erode 5회 적용
dilate 1회 적용
dilate 5회 적용
erode: 객체 영역을 흰색으로 봤을 때 객체영역을 깎아내고 검은색 영역이 늘어남 . 객체 영역이 침식됨
dilate: 객체 영역(검은색)이 늘어나고 흰색영역(밝은영역) 이 줄어듬.
*결과적으로 둘다 검은색영역이 늘어나는데 erode 와 dilate 에서 객체의 영역기준색깔이 반대임.
영상 추출 과정:
erode , dilate 의 경우 5번째 인자가 해당 과정의 반복횟수를 뜻하고 아래의 그림을 통해 확인할 수 있다.
[그림1] 원본 이미지
[그림2] erode 2회 , dilate 3회 수행한 경우의 결과
[그림3] erode 10회 , dilate 10회 수행한 경우의 결과
침식, 팽창 과정을 많이 하면 이미지가 단순하게 분할이 된다는 것을 알 수 있다.
구글링을 하다가 알게된 정보인데
모폴로지 기법은 영상에서 잡음의 제거하거나, 영상에서 객체의 모양을 기술하는 용도로 사용된다.
- 하지만 100% 복원되는건 아닙니다.
예를들어 Rect형태의 객체를 Rect 형태의 Element로 수행한다면 100% 복원가능하지만, 다른형태들은 완벽은 불가능합니다.
모폴로지 연산은 간단하게 침식과 팽창 연산이 있다.
침식 연산은
작은 덩어리의 객체들을 사라지게 할 수 있다. 혹은 객체의 크기를 작게 만들때 사용하기도 합니다.
팽창 연산은
객체 내부에 있는 작은 구멍들을 사라지게 할 수 있다. 혹은 객체의 크기를 키울때 사용하기도 한다.
라고 나와 있었다.
잡음 제거 처리를 많이 하다보니 영상이 단순화된 것 같다.
참고 블로그: http://hongkwan.blogspot.kr/2013/01/opencv-5-4-example.html
.
'OpenCV' 카테고리의 다른 글
파이썬 2.7 , 3.x 버전 함께 사용 & OpenCV 환경구축 (0) | 2017.07.20 |
---|---|
파이썬 OpenCV motion detection _ 검출 영역 이미지 저장 (5) | 2017.07.17 |
[OpenCV 3.0]RGB 채널 이동시키기 (0) | 2016.08.11 |
[OpenCV 3.0]동영상에서 edge 추출하기 (0) | 2016.08.08 |
C++ OpenCV 3.0 개발환경 구축(for Windows) (0) | 2016.08.03 |