OpenCV 그리기 함수
(1) 그리기 함수
- OpenCV는 영상에 선, 도형, 문자열을 출력하는 그리기 함수를 제공
- 선 그리기 : 직선, 화살표, 마커 등
- 도형 그리기 : 사각형, 원, 타원, 다각형 등
- 문자열 출력
- OpenCV 주요 그리기 함수

(2) 그리기 함수 사용 시 주의할 점
- 그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경
-> 원본 영상이 필요하면 복사본을 만들어서 그리기 & 출력
- 그레이스케일 영상에는 컬러로 그리기 안됨
-> cv2.cvtColor()로 BGR 컬러 영상으로 변환한 후 그리기 함수 호출
(3) 직선 그리기
- 직선 그리기 함수
- shift는 축소된 형태의 영상을 만들었을 경우에 사용되지만 거의 사용되지 않음

(4) 도형(사각형, 원, 다각형) 그리기
- 사격형 그리기 함수

- 원 그리기 함수

- 다각형 그리기 함수

(5) 문자열 출력
- 문자열 출력 함수

(6) 그리기 함수 실습
import numpy as np
import cv2
img = np.full((400, 400, 3), 255, np.uint8)
cv2.line(img, (50, 50), (200, 50), (0, 0, 255), 5)
cv2.line(img, (50, 60), (150, 160), (0, 0, 128))
cv2.rectangle(img, (50, 200, 150, 100), (0, 255, 0), 2)
cv2.rectangle(img, (70, 220), (180, 280), (0, 128, 0), -1)
cv2.circle(img, (300, 100), 30, (255, 255, 0), -1, cv2.LINE_AA)
cv2.circle(img, (300, 100), 60, (255, 0, 0), 3, cv2.LINE_AA)
pts = np.array([[250, 250], [300, 200], [350, 300], [250, 300]])
cv2.polylines(img, [pts], True, (255, 0, 255), 2)
text = 'Hello? OpenCV' + cv2.__version__
cv2.putText(img, text, (50, 350), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
(0, 0, 255), 1, cv2.LINE_AA)
cv2.imshow('img', img)
cv2.waitKey()
cv2.destroyAllWindows()
