더북(TheBook)

OpenCV에서 팽창 연산을 수행하려면 dilate() 함수를 사용합니다. dilate() 함수 원형은 다음과 같습니다.

void dilate(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인 경우, 확장된 가장자리 픽셀을 채울 값

 

dilate() 함수의 인자 구성과 사용법은 erode() 함수와 완전히 같습니다.

erode()dilate() 함수를 이용하여 모폴로지 침식과 팽창 연산을 수행하는 예제 코드를 코드 11-3에 나타냈습니다. 코드 11-3의 erode_dilate() 함수는 milkdrop.bmp 영상을 이진화한 후, 침식 연산과 팽창 연산을 각각 수행하여 그 결과를 화면에 출력합니다. erode_dilate() 함수가 정의된 소스 코드 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch11/morphology 프로젝트에서 확인할 수 있습니다.

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