더북(TheBook)

OpenCV에서 영상의 침식 연산은 erode() 함수를 이용하여 수행합니다. erode() 함수 원형은 다음과 같습니다.

void erode(InputArray src, OutputArray dst, InputArray kernel,
           Point anchor = Point(-1,-1), int iterations = 1,
           int borderType = BORDER_CONSTANT,
           const Scalar& borderValue = morphologyDefaultBorderValue());

src

입력 영상

dst

출력 영상. src와 같은 크기, 같은 타입입니다.

kernel

구조 요소. 만약 Mat()을 지정하면 3×3 사각형 구조 요소를 사용합니다. 그 외의 구조 요소는 getStructuringElement() 함수를 이용하여 만들 수 있습니다.

anchor

고정점 위치. (-1, -1)을 지정하면 구조 요소 중앙을 고정점으로 사용합니다.

iterations

반복 횟수

borderType

가장자리 픽셀 확장 방식

borderValue

borderTypeBORDER_CONSTANT인 경우, 확장된 가장자리 픽셀을 채울 값. 기본값으로 설정된 morphologyDefaultBorderValue() 함수는 모든 멤버 변수가 DBL_MAX로 채워진 Scalar 객체를 반환합니다.

 

erode() 함수는 꽤 많은 인자를 받을 수 있지만 src, dst, kernel 인자를 제외한 나머지는 기본값이 설정되어 있으므로 생략할 수 있습니다. erode() 함수의 세 번째 인자 kernel에는 getStructuringElement() 함수로 생성한 구조 요소 행렬을 지정할 수 있습니다. 다만 kernel 인자에 Mat() 또는 noArray()를 지정하면 3×3 정방형 구조 요소를 사용하여 침식 연산을 수행합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.