-
opencv_도형 그리기Python study/opencv 2022. 3. 15. 16:24
목표
- 다양한 모향의 도형을 그릴 수 있다.
- cv2.line(), cv2.crircle(), cv2.rectangle, cv2.putText()
도형 그리기는 동영상이나 이미지에서 Match 가 되는 영역을 찾은 후에 사용자가 인식하기 쉽게 표시하는 목적으로 사용됩니다.
1.Line 그리기
cv2.line() 은Start와 End 점을 연결하여 직선을 그립니다.
cv2.line() 함수 설명
cv2.line(img, start, end, color, thickness)
- Parameters
- img - 그림을 그릴 이미지 파일
- start - 시작 좌표
- end - 종료 좌표
- color - BGR 형태의 color
- thickness(int) - 선의 두깨.pixel
Sample Code : https://github.com/CBike/opencv/blob/master/draw_line.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
code result 2. 사각형 그리기
cv2.rectangle()는 top - left corner 와 bottom - right corner 점을 연결하는 사각형을 그립니다.
cv2.rectangle() 함수 설명
cv2.rectangle(img, start, end, color, thickness)
- Parameters :
- img - 그림을 그릴 이미지
- start - 시작 좌표 ((0,0))
- end - 종료 좌표
- color - BGR 형태의 Color
- thickness(int) - 선의 두깨
Sample Code : https://github.com/CBike/opencv/blob/master/draw_rectangle.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
code result 3. 원 그리기
cv2.circle 함수 설명
cv2.circle(img, center, radian, color, thickness)
- Parameters
- img - 그림을 그릴 이미지
- center - 원의 중심 좌표 (x, y)
- radian - 반지름
- color - BGR 형태의 Color
- thickness - 선의 두께, -1 이면 원 안쪽을 채움
Sample Code :https://github.com/CBike/opencv/blob/master/draw_circle.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
4. 타원 그리기
cv2.ellipse() 함수 설명
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness, lineType)
- Parameters
- img - image
- center - 타원의 중심
- axes - 중심에서 가장 큰 거리와 작은 거리
- angle - 타원의 기울기 각
- startAngle - 타원의 시작 각도
- endAngle - 타원이 끝나는 각도
- color - 타원의 색
- thickness - 선 두께 -1 이면 안쪽을 채움
Sample Code : https://github.com/CBike/opencv/blob/master/draw_ellipse.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
code result 5. Polygon 그리기
cv2.polylines() 함수 설명
cv2.Polulines(img, pts, isClosed, color, thickness)
- Parameters
- img - image
- pts (array) - 연결할 꼭지점 좌표
- isClosed - 닫흰 도형 여부
- color - Color
- thickness - 선 두께
Sample Code : https://github.com/CBike/opencv/blob/master/draw_polygon.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
pts = np.array[......] 각 꼭지점은 2차원 행렬로 선언
이미지에 표현하기 위해 3차원 행렬로 변환
변환 이전과 이후의 핼렬 갯수는 동일 해야함
-1 은 원본에 해당하는 값을 그대로 유지
pts = pts.reschape((-1, 1, 2))
img = cv2.polylines(img, [pts], true, (0,255,255))
code result 6. 이미지에 Text 추가
cv2.putText() 함수 설명
cv2.putText(img, text, org, font, fontSacle, color)
-Parameters
- img - image
- text - 표시할 문자열
- org - 문자열이 표시될 위치. 문자열의 bottom - lefr corner 점
- font - font type. CV2.FONT_XXX
- fontSacle - Font Size
- color - Font Color
Sample Code : https://github.com/CBike/opencv/blob/master/draw_puttext.py
GitHub - CBike/opencv
Contribute to CBike/opencv development by creating an account on GitHub.
github.com
code result 'Python study > opencv' 카테고리의 다른 글
회전(Rotate) (0) 2023.11.30 대칭(Flip, Symmetry) (0) 2023.11.30 비디오 출력 (0) 2023.11.29 opencv - 이미지 다루기 (0) 2023.11.29 Opencv- 영상다루기 (0) 2022.03.24