-
[OpenCV]_3. OpenCV 도형 그리기programming/Python 2021. 2. 6. 00:02
OpenCV 도형 그리기는 동영상이나 이미지에서 필요 영역을 찾은 후에 사용자가 인식하기 쉽게 표시하는 목적으로 사용됩니다. 사각형과 원, 텍스트는 많이 사용됩니다.
Line 그리기
cv2.line(img, start, end, color, thickness)
import numpy as np import cv2 #np.zeros로 모두 0 (검정색)으로 되있는 창을 하나 만듭니다. img = np.zeros((512, 512, 3), np.uint8) #라인 그리기 적용할이미지 시작좌표 종료 좌표 B G R 선의 두께 img = cv2.line( img, (0, 0), (511, 511), (255, 255, 255), 5) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
import numpy as np import cv2 #np.zeros로 모두 0 (검정색)으로 되있는 창을 하나 만듭니다. img = np.zeros((512, 512, 3), np.uint8) #라인 그리기 적용할이미지 시작좌표 종료 좌표 B G R 선의 두께 img = cv2.line( img, (50, 50), (400, 400), (0, 255, 0), 10) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.line(img, start, end, color, thickness)이용하여 선을 그립니다.
- img – 그림을 그릴 이미지 파일
- start – 시작 좌표(ex; (0,0))
- end – 종료 좌표(ex; (500. 500))
- color – BGR형태의 Color(ex; (255, 0, 0) -> Blue)
- thickness (int) – 선의 두께. pixel
사각형 그리기
cv2.rectangle(img, start, end, color, thickness)
import numpy as np import cv2 #np.zeros로 모두 0 (검정색)으로 되있는 창을 하나 만듭니다. img = np.zeros((512, 512, 3), np.uint8) # 적용할이미지 시작좌표 종료 좌표 B G R 선의 두께 img = cv2.rectangle(img, (20, 20), (400, 400), (255, 255, 0), 3) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.rectangle(img, start, end, color, thickness) 이용하여 왼쪽 위에 지점과 오른쪽 아래 지점을 연결하는 사각형을 그립니다.
- img – 그림을 그릴 이미지
- start – 시작 좌표(ex; (0,0))
- end – 종료 좌표(ex; (500. 500))
- color – BGR형태의 Color(ex; (255, 0, 0) -> Blue)
- thickness (int) – 선의 두께. pixel
원 그리기
cv2.circle(img, center, radian, color, thickness)
import numpy as np import cv2 #np.zeros로 모두 0 (검정색)으로 되있는 창을 하나 만듭니다. img = np.zeros((512, 512, 3), np.uint8) # 적용할이미지 원의중심좌표(x,y) 반지름 B G R 선의 두께 img = cv2.circle( img, (20,60), 20, (0, 0, 255), -1) img2 = cv2.circle( img, (400,50), 100, (0, 255, 0), 1) cv2.imshow('image',img) cv2.imshow('image',img2) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.circle(img, center, radian, color, thickness) 이용하여 원을 그립니다. 파라미터 thickness 값에 따라 1이면 원안이 빈 원을 생성하고 -1이면 원 안쪽의 색상도 채워서 그려집니다.
- img – 그림을 그릴 이미지
- center – 원의 중심 좌표(x, y)
- radian – 반지름
- color – BGR형태의 Color
- thickness – 선의 두께, -1 이면 원 안쪽을 채움
이미지에 Text 추가
cv2.putText(img, text, org, font, fontSacle, color)
import numpy as np import cv2 #np.zeros로 모두 0 (검정색)으로 되있는 창을 하나 만듭니다. img = np.zeros((512, 512, 3), np.uint8) # 적용할이미지 표시할문자열 문자열의 좌표값 폰트 글자크기 B G R 선의 두께 cv2.putText(img, 'opencv', (10,500), cv2.FONT_HERSHEY_SIMPLEX, 4, (255,255,255), 10) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.putText(img, text, org, font, fontSacle, color) 를 사용해서 택스트를 그립니다.
- img – image
- text – 표시할 문자열
- org – 문자열이 표시될 위치. 문자열의 bottom-left corner점
- font – font type. CV2.FONT_XXX
- fontSacle – Font Size
- color – fond color
'programming > Python' 카테고리의 다른 글
[자료구조]Hash, Hashing, Hash Table (4) 2021.05.05 [OpenCV]_4. OpenCV 이미지 Processing (0) 2021.02.07 [OpenCV]_2. OpenCV 이미지 다루기 (0) 2021.01.26 [OpenCV]_1. OpenCV 시작하기 (0) 2021.01.25 [Python]_6. 리스트(List) (0) 2021.01.24