# 기하학적 모양을 그리는 방법
#cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText()
1. 선 그리기
import numpy as np
import cv2
#검은색 이미지 만들기
img = np.zeros((512,512,3), np.uint8)
#5px의 굵기로 파란 선 만들기
img = cv2.line(img, (0,0), (511,511),(255,0,0), 5)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.line(img, (0,0), (511,511),(255,0,0), 5)
- img : 이미지
- (0, 0) : 시작점 좌표
- (511, 511) : 끝점 좌표
- (255, 0, 0) : 색깔 BGR (OpenCV에서 BGR로 다룸)
- 5 : 픽셀 값 (선 굵기)
결과값
2. 직사각형 그리기
import numpy as np
import cv2
#검은색 이미지 만들기
img = np.zeros((512,512,3), np.uint8)
#3px의 굵기로 초록색 선 만들기
img = cv2.line(img, (384,0), (510,128),(0,255,0), 3)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.rectangle(img, (384 ,0), (510, 128),(0, 255, 0), 3)
- img : 이미지
- (384, 0) : 시작점 좌표 ==> 왼쪽 위 모서리
- (510, 128) : 끝점 좌표 ==> 오른쪽 하단 모서리
- (0, 255, 0) : 색깔 BGR (OpenCV에서 BGR로 다룸)
- 5 : 픽셀 값 (선 굵기)
결과값
3. 원 그리기
import numpy as np
import cv2
img = np.zeros((512,512,3), np.uint8)
img = cv2.circle(img, (250,250), 63, (0,0, 255), -1)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.circle(img, (250,250), 63, (0,0, 255), -1)
- img : 이미지
- (250, 250) : 중심점
- 63 : 반지름
- (0, 0, 255) : 색깔 BGR (OpenCV에서 BGR로 다룸)
- -1 : 픽셀 값 (선 굵기) ==> 음수니까 원 안에 색 채우기
결과값
3. 타원 그리기
import numpy as np
import cv2
img = np.zeros((512,512,3), np.uint8)
img = cv2.ellipse(img, (250,250), (100, 50),0, 0, 180, 255 -1)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.ellipse(img, (250,250), (100, 50),0, 0, 180, 255 -1)
- img : 이미지
- (250, 250) : 중심점
- (100, 50) : 타원의 장축과 단축
- 0 : 회전각도 ==> 시계방향으로의 타원의 회전 각도
- 0 : 시작각도
- 180 : 종료각도
- 255 : 색깔 == (250, 0, 0)
- -1 : 채우기
※ 시작 각도, 종료 각도가 원 기준이 아닌 거 알아두기
'프로그래밍 > OpenCV' 카테고리의 다른 글
[OpenCV-Python] 그리기 함수 사용하기(다각형, 이미지에 텍스트 추가) (0) | 2021.01.21 |
---|---|
[OpenCV-Python] 비디오 시작하기 (0) | 2021.01.20 |
[OpenCV-Python] Matplotlib 연습 (0) | 2021.01.09 |
[OpenCV-Python] Matplotlib 사용하기 (0) | 2021.01.09 |
[OpenCV-Python] 이미지로드, 저장하기 (0) | 2021.01.09 |