더북(TheBook)

4.2.2 도형 그리기

이 절에서는 영상에 사각형, 원, 타원과 같은 도형을 그리는 OpenCV 함수에 대해 알아보겠습니다. OpenCV 도형 그리기 함수를 이용하여 외곽선으로 이루어진 도형뿐만 아니라 내부가 채워진 도형도 그릴 수 있습니다.

먼저 영상에 사각형을 그리는 OpenCV 함수 이름은 rectangle()입니다. 그림을 그릴 사각형 정보는 사각형의 대각 위치에 있는 두 꼭지점 좌표를 이용하거나 또는 Rect 클래스 타입의 객체를 이용하여 전달할 수 있습니다. OpenCV는 다음과 같이 두 가지 형식의 rectangle() 함수를 제공합니다.

void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color,
               int thickness = 1, int lineType = LINE_8, int shift = 0);
void rectangle(InputOutputArray img, Rect rec, const Scalar& color,
               int thickness = 1, int lineType = LINE_8, int shift = 0);

• img

입출력 영상

• pt1

사각형 꼭지점 좌표. Point 객체

• pt2

pt1과 대각 방향에 있는 사각형 꼭지점 좌표. Point 객체

• rec

사각형 위치 정보. Rect 객체

• color

사각형 색상(또는 밝기)

• thickness

사각형 외곽선 두께. 이 값이 음수(-1 또는 FILLED)이면 내부를 채웁니다.

• lineType

선 타입

• shift

그리기 좌표 값의 축소 비율(오른쪽 비트 시프트(>>) 연산)