본문 바로가기
Python

[Python] Opencv 로 이미지 Rectangle, Circle, Text

by bryan.oh 2023. 1. 25.
반응형

Python Opencv
Rectangle, Circle, Text

 

Rectangle

파라메터 설명

cv2.rectangle(img, pt1, pt2, color, thickness, lineType)
img 사각형을 그릴 이미지. 이것은 이미지의 numpy 배열이어야 합니다.
pt1 사각형의 왼쪽 위 모서리 좌표입니다. 이것은 (x, y) 형식의 튜플입니다. 
pt2 사각형의 오른쪽 아래 모서리 좌표입니다. 이것은 (x, y) 형식의 튜플입니다.
color 사각형의 색상입니다. 이는 BGR 이미지의 경우 (B, G, R) 형식의 튜플을 사용하여 지정할 수 있습니다. 
thickness 사각형 가장자리의 두께입니다. 이는 정수 값이거나 상수 cv2.FILLED(직사각형 채우기) 또는 cv2.LINE_AA(앤티앨리어싱으로 사각형 그리기) 중 하나일 수 있습니다.
lineType 선의 유형. cv2.LINE_4, cv2.LINE_8, cv2.LINE_AA 중 하나일 수 있습니다. 기본적으로 cv2.LINE_8이 사용됩니다.

 

예제

import cv2

# Load the image
image = cv2.imread("image.jpg")

# Draw a square on the image
cv2.rectangle(image, (50, 50), (150, 150), (255, 0, 0), 2)

# Show the image
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

결과

 

아래 코드에 대한 결과

cv2.rectangle(image, (50, 50), (150, 150), (0, 255, 0), -1)

 

 

Circle 

파라메터 설명

cv2.circle(img, pt1, pt2, color, thickness, lineType)
img 이미지의 numpy 배열이어야 합니다.
center 원의 중심 좌표. 이것은 (x, y) 형식의 튜플입니다. 여기서 x와 y는 원 중심의 x와 y 좌표입니다.
radius 원의 반지름. 원의 반지름을 픽셀 단위로 지정하는 정수 값입니다.
color 원의 색상입니다. 이는 BGR 이미지의 경우 (B, G, R) 형식의 튜플을 사용하여 지정할 수 있습니다. 
thickness 원 가장자리의 두께입니다. 이는 정수 값이거나 상수 cv2.FILLED(직사각형 채우기) 또는 cv2.LINE_AA(앤티앨리어싱으로 사각형 그리기) 중 하나일 수 있습니다.
lineType 선의 유형. cv2.LINE_4, cv2.LINE_8, cv2.LINE_AA 중 하나일 수 있습니다. 기본적으로 cv2.LINE_8이 사용됩니다.

 

Text

파라메터 설명

cv2.putText(img, text, pt2, color, thickness, lineType)
img 이미지의 numpy 배열이어야 합니다.
text 작성할 텍스트입니다. 문자열 값입니다.
org 텍스트의 왼쪽 하단 모서리 좌표입니다. 이것은 (x, y) 형식의 튜플입니다
fontFace 텍스트의 글꼴 유형입니다.
cv2.FONT_HERSHEY_SIMPLEX
cv2.FONT_HERSHEY_PLAIN
cv2.FONT_HERSHEY_DUPLEX
cv2.FONT_HERSHEY_COMPLEX
cv2.FONT_HERSHEY_TRIPLEX
cv2.FONT_HERSHEY_COMPLEX_SMALL
cv2.FONT_HERSHEY_SCRIPT_SIMPLEX
cv2.FONT_HERSHEY_SCRIPT_COMPLEX
fontScale 텍스트의 글꼴 크기입니다. 글꼴 크기를 조정하는 부동 소수점 값입니다.
color 텍스트의 색상입니다. 이는 BGR 이미지의 경우 (B, G, R) 형식의 튜플을 사용하여 지정할 수 있습니다. 
thickness 원 가장자리의 두께입니다. 이는 정수 값이거나 상수 cv2.FILLED(직사각형 채우기) 또는 cv2.LINE_AA(앤티앨리어싱으로 사각형 그리기) 중 하나일 수 있습니다.
lineType 선의 유형. cv2.LINE_4, cv2.LINE_8, cv2.LINE_AA 중 하나일 수 있습니다. 기본적으로 cv2.LINE_8이 사용됩니다.
bottomLeftOrigin true이면 이미지 데이터 원점은 왼쪽 하단 모서리에 있습니다. 그렇지 않으면 왼쪽 상단 모서리에 있습니다. 기본적으로 false 입니다.

 

예제

import cv2

# Load the image
image = cv2.imread("image.png")

# Draw a circle on the image
cv2.circle(image, (250, 250), 50, (0, 255, 0), 2)

# Write text on the image
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(image, 'OpenCV', (50, 50), font, 2, (255, 255, 255), 2, cv2.LINE_AA)

# Show the image
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

결과

 

아래 코드에 대한 결과

cv2.circle(image, (250, 250), 20, (0, 255, 0), 2)
cv2.putText(image, 'OpenCV', (50, 50), font, 2, (255, 255, 0), 2, cv2.LINE_8)

728x90
반응형

댓글