더북(TheBook)

findContours() 함수로 검출한 외곽선 정보를 이용하여 영상 위에 외곽선을 그리고 싶다면 drawContours() 함수를 사용할 수 있습니다. drawContours() 함수 원형은 다음과 같습니다.

void drawContours(InputOutputArray image, InputArrayOfArrays contours,
                  int contourIdx, const Scalar& color,
                  int thickness = 1, int lineType = LINE_8,
                  InputArray hierarchy = noArray(),
                  int maxLevel = INT_MAX, Point offset = Point());

image

외곽선을 그릴 영상

contours

findContours() 함수로 구한 전체 외곽선 정보. vector<vector<Point>> 타입의 변수를 지정합니다.

contourIdx

외곽선 번호. 음수를 지정하면 전체 외곽선을 그립니다.

color

외곽선 색상(또는 밝기)

thickness

외곽선 두께. FILLED 또는 -1을 지정하면 외곽선 내부를 채웁니다.

lineType

외곽선 타입

hierarchy

외곽선 계층 정보

maxLevel

그릴 외곽선의 최대 레벨. 이 값이 0이면 지정한 번호의 외곽선만 그리고, 1보다 같거나 크면 그에 해당하는 하위 레벨의 외곽선까지 그립니다.

offset

추가적으로 지정할 외곽선 점 좌표의 오프셋(이동 변위). 지정한 좌표 크기만큼 외곽선 좌표를 이동하여 그립니다.

 

drawContours() 함수는 findContours() 함수로 얻은 외곽선 정보를 이용하여 영상에 외곽선을 그립니다. 전체 외곽선을 한꺼번에 그릴 수도 있고, 특정 번호의 외곽선을 선택하여 그릴 수도 있습니다. 외곽선 계층 정보를 함께 지정할 경우, 자식 외곽선도 함께 그릴 수 있습니다.

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