morphology
영상을 형태학적인 측면에서 다루는 기법
다양한 영상 처리 시스템에서 전처리 또는 후처리 형태로 널리 사용
수학적 모폴로지(mathematical morphology)
erosion
구성 요소가 객체 영역 내부에 완전히 포함될 경우 고정점 픽셀을 255로 설정
침식 연산은 객체 외곽을 깍아내는 연산
객체의 크기는 줄어들고 배경은 확대
src : 입력 영상
dst : 출력 영상
kernel : 구조 요소
getStructuringElement() 함수에 의해 생성 가능
anchor : 고정점 위치
iterations : 반복 횟수
void erode(InputArray src,
OutputArray dst,
InputArray kernel,
Point anchor = Point(-1,-1),
int iterations = 1,
int borderType = BORDER_CONSTANT,
const Scalar& borderValue=morphologyDefaultBorderValue());
구조 요소 생성
shape : 구조요소 모양 지정 상수
MORPH_RECT | 사각형 모양 |
MORPH_CROSS | 십자가 모양 |
MORPH_ELLIPSE | 사각형에 내접하는 타원 |
ksize : 구조 요소 크기
anchor : MORPH_CROSS 모양의 구조 요소에서 중심 좌표
return : 0과 1로 구성된 CV_8UC1 타입의 행렬
Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1,-1));
dilation
구조 요소와 객체 영역이 한 픽셀이라도 만날 경우 고정점 픽셀을 255로 설정
팽창 연산은 객체 외곽을 확대시키는 연산
열기 = 침식 팽창
닫기 = 팽창 침식
src, dst : 입출력 영상
op : 모폴로지 연산 상수
MORPH_ERODE | 침식 |
MORPH_DILATE | 팽창 |
MORPH_OPEN | 열기 |
MORPH_CLOSE | 닫기 |
MORPH_GRADIENT | 팽창-침식 |
kernel : 구조 요소
anchor : 고정점
iterations : 반복 횟수
void morphologyEx(InputArray src,
OutputArray dst,
int op,
InputArray kernel,
Point anchor = Point(-1,-1),
int iterations = 1,
int borderType = BORDER_CONSTANT,
const Scalar& borderValue=morphologyDefaultBorderValue());
ricecount