OpenCV 그리기 함수
- OpenCV는 영상에서 선, 도형, 문자열을 출력하는 그리기 함수를 제공한다.
- 선 그리기 : 직선, 화살표, 마커 등
- 도형 그리기 : 사각형, 원, 타원, 다각형 등
- 문자열 출력
- 그리기 함수 사용 시 주의할 점
- 그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경한다.
- -> 원본 영상이 필요하면 복사본을 만들어서 그리기 & 출력해야 한다.
- 그레이스케일 영상에는 컬러로 그릴 수 없다.
- -> cv2.cvtColor()함수로 BGR컬러 영상으로 변환한 후 그리기 함수를 호출해야 한다.
대표 함수 이름 | |
cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None) | 직선 그리기 |
cv2.rectangle(img, rec, color, thickness=None, lineType=None, shift=None) | 사격형 그리기 |
cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None | 원 그리기 |
cv2.polylines(img, pts, isClosed, color, thickness=None, lineType=None,shift=None) | 다각형 그리기 |
cv2.putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None | 문자열 출력하기 |
pt1, pt2 : 직선의 시작점과 끝점. (x, y) 튜플 형태
rec : 사각형 위치 정보. (x, y, w, h) 튜플 형태
color : 선 색상 또는 밝기. (B, G, R) 튜플 또는 정수값
thickness : 선 두께. 기본값은 1. 음수(-1)을 지정하면 내부를 채움.
lineType : 선 타입. cv2.Line_4 ,cv2.Line_8, cv2.Line_AA 중 선택. 기본값은 cv2.Line_8
shift : 그리기 좌표 값의 축소 비율. 기본값은 0
center : 원의 중심 좌표. (x, y) 튜플 형태
pts : 다각형 외곽 점들의 좌표 배열. numpy.ndarray의 리스트
(e.g) [np.array([[10,10], [50,50], [10, 50]], dtype=np.int32)]
isClosed : 폐곡선 여부. True 또는 False 지정
org : 영상에서 문자열을 출력할 위치의 좌측 하단 좌표. (x, y) 튜플 형태
fontFace : 폰트 종류. cv2.FONT_HERSHEY_로 시작하는 상수 중 선택
bottomLeftOrigin : True이면 영상의 좌측 하단을 원점으로 간주. 기본값은 False
예제 코드
'OpenCV' 카테고리의 다른 글
[OpenCV] cv2.VideoCapture 클래스 (0) | 2023.03.02 |
---|---|
[OpenCV] 마스크 연산 / ROI (0) | 2023.03.02 |
[OpenCV] Img crop / 밝기 조절 (0) | 2023.03.02 |
[OpenCV] 영상데이터 표현, 생성, 복사 (0) | 2023.02.21 |
[OpenCV] Matplotlib을 이용한 영상 출력 (0) | 2023.02.21 |