C# OpenCV 강좌 : 제 27강 - 모폴로지 - 팽창 & 침식
팽창(Dilate) 및 침식(Erode)
영상이나 이미지의 화소값을 대체
하기 위해 사용합니다.
영상이나 이미지에서 Dilate
와 Erode
를 이용해 이미지의 정확도
를 높일 수 있습니다.
팽창(Dilate)
은 구조 요소를 사용하여 이웃한 화소를 최대 픽셀로 대체
합니다.
즉, 어두운 영역이 줄어들며 밝은 영역이 늘어납니다. 노이즈 제거 후 줄어든 크기를 복구
하고자 할 때 주로 사용합니다.
침식(Erode)
은 구조 요소를 사용하여 이웃한 화소를 최소 픽셀로 대체
합니다.
즉, 밝은 영역이 줄어들며 어두운 영역이 늘어납니다. 노이즈 제거
에 주로 사용합니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
클래스 코드
세부 코드
dil
과 ero
는 팽창
과 침식
된 이미지입니다.
Binary
또는 GrayScale
이미지 이용 시 채널은 1
로 대체합니다.
모폴로지(Morphology)의 형태학적 작업을 위해 IplConvKernel
을 이용하여 지정된 크기와 구조 요소를 반환합니다. IplConvKernel(너비, 높이, X좌표, Y좌표, 형태, 커스텀형태)
입니다.
너비(cols)
: 구조 요소의 너비높이(rows)
: 구조 요소의 높이X좌표(anchorX)
: 앵커의 X 좌표Y좌표(anchorY)
: 앵커의 Y 좌표형태(ElementShape.*)
: 구조 요소의 형태ElementShape.Cross
: 십자형 구조 요소ElementShape.Custom
: 사용자 정의 구조 요소ElementShape.Ellipse
: 타원형(직사각형에 채워진 타원) 구조 요소ElementShape.Rect
: 직사각형 구조 요소
커스텀형태(values)
: 사용자 정의 구조 요소의 형태,ElementShape.Custom
를 이용할 때 사용하며new int[n, m]
으로 선언
Cv.Dilate()
와 Cv.Erode()
를 이용하여 팽창
과 침식
할 수 있습니다.
Cv.*(원본, 결과, 구조 요소, 반복횟수)
입니다. 반복횟수
만큼 적용합니다.
댓글 남기기