Python에서 OpenCV 모듈을 사용하여 사각형 그리기
Vaibhav Vaibhav
2022년1월22일
OpenCV는 실시간 컴퓨터 비전 라이브러리입니다. Python, Java 및 C++와 같은 프로그래밍 언어에서 사용할 수 있습니다. OpenCV를 사용하여 모양을 그리고 효율적으로 이미지를 처리할 수 있습니다. 이 기사에서는 OpenCV 모듈을 사용하여 사각형을 그리는 방법을 배웁니다.
OpenCV를 사용하여 사각형 그리기
OpenCV 모듈에는 직사각형을 그리는 데 사용할 수 있는 rectangle()
함수가 있습니다. 이미지 객체를 반환합니다. 다음 인수를 허용합니다.
img
: 사각형이 생성되어야 하는 이미지 개체입니다.pt1
: 직사각형의 시작 좌표입니다. x 좌표 값과 y 좌표 값이 있는 튜플을 허용합니다.pt2
: 사각형의 끝 좌표입니다. x 좌표 값과 y 좌표 값이 있는 튜플을 허용합니다.color
: 사각형의 색상을 나타내는 튜플입니다. OpenCV는 기본적으로 BGR 형식을 고려합니다. 따라서 일반적인 RGB 형식이 아닌 BGR 형식으로 값을 입력해야 합니다. 예를 들어(255, 0, 0)
은 파란색을 나타내고(0, 0, 255)
는 빨간색을 나타냅니다.thickness
: 직사각형 테두리의 두께입니다. 단위는px
입니다.-1
의 두께는 직사각형을 지정된 색상으로 채웁니다. 다른 양수 두께 값의 경우 사각형은 지정된 색상으로 채워지지 않습니다. 국경에만 적용됩니다.
이제 이 함수를 사용하여 직사각형을 그리는 방법을 살펴보겠습니다. 예제는 다음 코드를 참조하십시오.
import cv2
image_url = "full\\path\\to\\the\\image\\image.jpg" # Full path is needed
image = cv2.imread(image_url, cv2.COLOR_BGR2RGB)
start_point = (140, 140)
end_point = (500, 500)
color = (0, 0, 255)
thickness = 3
image_with_rectangle = cv2.rectangle(
img=image, pt1=start_point, pt2=end_point, color=color, thickness=thickness
)
cv2.imshow("Image with a Rectangle", image_with_rectangle)
cv2.waitKey(0)
위의 코드는 먼저 지정된 경로에서 이미지를 로드하고 cv2.COLOR_BGR2RGB
를 사용하여 BGR 색상 순서를 RGB 색상 순서로 변환한 다음 이미지 위에 360 x 360
크기의 직사각형을 그립니다. 두께 값은 양수입니다. 이것은 사각형에 채우기 색상이 없음을 의미합니다.
또한 코드 끝에 이 cv2.waitKey(0)
문이 있습니다. 프로그램이 실행되면 이미지가 자동으로 닫히는 것을 방지합니다. 이 문장 없이 프로그램을 실행하면 수정된 이미지가 나타나고 바로 닫힙니다.
출력:
두께 값을 -1
로 변경하면 어떻게 될까요? 이 경우 사각형은 채우기 색상을 갖게 됩니다. 동일한 내용은 다음 코드를 참조하십시오.
import cv2
image_url = "full\\path\\to\\the\\image\\image.jpg" # Full path is needed
image = cv2.imread(image_url, cv2.COLOR_BGR2RGB)
start_point = (140, 140)
end_point = (500, 500)
color = (0, 255, 255)
thickness = -1
image_with_rectangle = cv2.rectangle(
img=image, pt1=start_point, pt2=end_point, color=color, thickness=thickness
)
cv2.imshow("Image with a Rectangle", image_with_rectangle)
cv2.waitKey(0)
출력:
작가: Vaibhav Vaibhav