2019. 7. 1. 21:46ㆍPython-이론/python-opencv
저번에는 비디오로 촬영하고 저장하는 과정을 해보았습니다. 이번에는 검은화면에 도형을 그려보겠습니다. ㄴㅇㅁㄹ
코드
import numpy as np
import cv2
def drawing():
img = np.zeros((512, 512, 3), np.uint8)
img.fill(100)
cv2.line(img, (243, 128), (511, 511), (255, 125, 125), 5) # BGR
cv2.line(img, (243, 128), (0, 511), (255, 125, 125), 5)
cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
cv2.circle(img, (250, 400), 63, (160, 125, 255), -1)
cv2.ellipse(img, (248, 256), (78, 50), 0, 0, 180, (255, 0, 0), -1)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, "Feliz", (100, 100), font, 4, (200, 200, 200), 2)
cv2.imshow("figure Test", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
drawing()
코드 설명
img = np.zeros((512, 512, 3), np.uint8) img.fill(100) cv2.line(img, (243, 128), (511, 511), (255, 125, 125), 5) 그림판 243, 128을 출발점으로 511, 511까지 255, 125, 125의 색으로 두께 5의 직선을 그읍니다. line(그림판, (x출발점, y출발점), (x 종료점, y 종료점), (b, g, r), 두께)
cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3) 그림판 왼쪽 상단 꼭짓점 (384,0) 에서 왼쪽 하단 (510, 128)을 꼭짓점으로 하는 직사각형을 만듭니다. 색은 (0, 255, 0)으로 하고 두께는 3으로 합니다.
cv2.circle(img, (250, 400), 63, (160, 125, 255), -1) (250, 400)은 중점을 의미합니다. 63은 반지름을 의미합니다. 4번째 인자는 색이고 5번째 인자의 -1이면 원에 색을 채우고 인자를 비워 두면 가운데가 비어 있는대로 원을 그립니다. circle(그림판, (x 중점, y 중점), 반지름, (b, g, r), 속을 채울 것인지 비울 것인지 -1이면 속이 채워짐)
cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 180, (255, 0, 0,), -1) 타원을 그립니다. (256, 256)은 타원의 중심을 의미합니다. (100, 50)은 각각 장축과 단축의 1/2의 길이를 의미합니다. 0, 0, 180은 타원의 기울기 각도(타원이 기울어진다), 타원 호를 그리는 시작 각도(그려지는 시작 각도를 정할 수 있다.), 타원 호를 그리는 끝각도(360이면 전체 다 그려진다.)
cv2.putText(img, "Feliz", (100, 100), font, 4, (200, 200, 200), 2) Feliz는 작성될 문자열을 의미합니다. (100, 100)은 그려질 지정된 위치를 의미합니다. font는 위에서 설정한 폰트를 의미합니다. 4는 글자의 크기를 의미합니다. (200, 200, 200)은 BGR로 글자의 색을 의미합니다. 2는 글자의 굵기를 의미합니다. |
결과
'Python-이론 > python-opencv' 카테고리의 다른 글
[opencv-python] 트랙바 만들기 (2) | 2019.07.02 |
---|---|
[opencv-python] 도형 그리기 with 마우스 (0) | 2019.07.02 |
[opencv-python] 비디오 읽고 쓰기 (0) | 2019.07.01 |
[opencv-python] 이미지 읽어서 출력하기 (1) | 2019.06.30 |
opencv 설치하기 (0) | 2019.06.29 |