Data Science/컴퓨터비전

[Python, opencv] 다각형 그리기 코드 구현(cv2.polylines)

상어군 2023. 5. 30. 18:56
반응형

파이썬에서 다각형을 그리기 위해서는 opencv를 활용하여 아래와 같이 그릴 수 있다.

import cv2
import numpy as np

# 0으로 채워진 이미지(array) 생성
image = np.zeros((150,150,3),np.uint8)

# 다각형의 좌표를 순서대로 입력, 입력 순서대로 선을 그리게 된다
pts1 = np.array([[20,20],[130,70],[90,90],[80,130]],dtype=np.int32)

# cv2의 polylines로 다각형 그리기
# cv2.polylines(원본그림, 좌표리스트, 마지막점과 첫점 연결 여부, 선색, 선 굵기)
cv2.polylines(image,[pts1],True,(255,255,255),4)
plt.imshow(image)

 

세번째 인자의 True는 무슨 의미를 가지는 것일까?

# True -> False로 변경하면??
# 마지막점과 첫 점을 이어주지 않는다

image = np.zeros((150,150,3),np.uint8)
pts1 = np.array([[20,20],[130,70],[90,90],[80,130]],dtype=np.int32)
cv2.polylines(image,[pts1],False,(255,255,255),4)

 

여러개의 도형을 같이 그릴 수도 있다.

image = np.zeros((150,150,3),np.uint8)

pts1 = np.array([[20,20],[130,70],[90,90],[80,130]],dtype=np.int32)
pts2 = np.array([[50,50],[50,70],[70,70],[70,50]],dtype=np.int32)

cv2.polylines(image,[pts1,pts2],True,(255,255,255),4)
plt.imshow(image)

 

이미지 처리를 할때 작업구역이나 위험구역등을 다양한 모양을 지정할때 유용하다.

반응형