Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ OpenCV에서 사각형을 그리는 방법 – rectangle() 함수 활용 가이드


사각형을 그리려면 네 개의 점이 필요합니다. 아래 그림을 살펴보세요.

C++ OpenCV에서 사각형을 그리는 방법 – rectangle() 함수 활용 가이드

그림에는 x1, x2, y1, y2라는 네 개의 점이 있으며, 이 점들이 사각형의 네 좌표를 구성합니다. OpenCV에서 사각형을 그리려면 이 좌표들을 정의하고, 사각형을 표시할 매트릭스(matrix)가 필요합니다. 또한 선의 색상과 선 두께 같은 관련 값들도 함께 선언해야 합니다.

이 메서드의 기본 문법은 다음과 같습니다.

문법(Syntax)

rectangle(whiteMatrix, starting, ending, line_Color, thickness);

각 인자의 의미는 다음과 같습니다.

  • whiteMatrix : 사각형이 그려질 대상 이미지(매트릭스)
  • starting : 사각형의 시작 좌표(Point)
  • ending : 사각형의 끝 좌표(Point)
  • line_Color : 선의 색상(Scalar 값, BGR 순서)
  • thickness : 선의 두께(픽셀 단위 정수)

다음 프로그램은 OpenCV에서 사각형을 그리는 방법을 보여줍니다.

예제 코드

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main() {
   Mat whiteMatrix(200, 200, CV_8UC3, Scalar(255, 255, 255));// 흰색 배경 매트릭스 선언//
   Point starting(40, 40);// 시작 좌표 선언//
   Point ending(160, 100);// 끝 좌표 선언//
   Scalar line_Color(0, 0, 0);// 사각형의 색상(검정)//
   int thickness = 2;// 선의 두께//
   namedWindow("whiteMatrix");// 사각형을 보여줄 윈도우 선언//
   rectangle(whiteMatrix, starting, ending, line_Color, thickness);// 사각형 그리기//
   imshow("WhiteMatrix", whiteMatrix);// 결과 화면에 출력//
   waitKey(0);// 키 입력 대기//
   return 0;
}

실행 결과

C++ OpenCV에서 사각형을 그리는 방법 – rectangle() 함수 활용 가이드

위 코드를 실행하면 200×200 크기의 흰색 배경 위에 검은색 테두리의 사각형이 그려진 것을 확인할 수 있습니다. rectangle() 함수는 OpenCV의 imgproc 모듈에 포함되어 있어 별도의 추가 설정 없이 간단히 도형을 그릴 수 있으며, thickness 값을 조절하거나 Scalar 값을 변경해 선 스타일을 자유롭게 바꿀 수 있습니다.