아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.
'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.
참고 자료들은 최대한 Reference에 넣었으며 문제가 생길시 연락 부탁드립니다.
댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다.
감사합니다.
Computer Vision 관련 이미지 처리 및 딥러닝을 하다보면 이미지에 문자열을 입력해야하는 경우가 생긴다.
이때 OpenCV를 사용하여 텍스트를 입력할 수 있다. OpenCV는 Drawing Function을 통해 선이나 도형, 문자열을 넣을수 있는 기능을 제공한다. 이 중에서 putText() 라는 메소드를 이용해서 이미지에 텍스트를 입력할 수 있다.
cv2.putText
cv2.putText(img, text, org, fontFace, fontScale, color, thickness, lineType, bottomLeftOrigin)
Parameters
- img : 문자열을 넣을 원본 이미지
- text : 출력할 문자열
- org : 문자열 좌표(좌측 하단)
- fontFace : 출력할 문자열 폰트
- • cv2.FONT_HERSHEY_SIMPLEX , 값: 0, 중간 크기 산세리프 폰트
- cv2.FONT_HERSHEY_PLAIN, 값: 1, 작은 크기 산세리프 폰트
- cv2.FONT_HERSHEY_DUPLEX, 값: 2, 2줄 산세리프 폰트
- cv2.FONT_HERSHEY_COMPLEX, 값: 3, 중간 크기 세리프 폰트
- cv2.FONT_HERSHEY_TRIPLEX, 값: 4, 3줄 세리프 폰트
- cv2.FONT_HERSHEY_COMPLEX_SMALL, 값: 5, COMPLEX 보다 작은 크기
- cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 값: 6, 필기체 스타일 폰트
- cv2.FONT_HERSHEY_SCRIPT_COMPLEX, 값: 7, 복잡한 필기체 스타일
- cv2.FONT_ITALIC, 값: 16, 이탤릭체를 위한 플래그
- fontScale : 문자열 폰트 크기
- color : 폰트 색상
- thickness : 폰트 두께
- lineType : 폰트의 선 종류
- LINE_8 : 8-connected Line(Default)
- LINE_4 : 4-connected Line
- LINE_AA : antialiased line
- bottomLeftOrigin : org 사용 옵션, True-좌측하단, False-좌측상단
import numpy as np
import cv2
from google.colab.patches import cv2_imshow
white_color = (255, 255, 255)
# Font 종류
fonts = [cv2.FONT_HERSHEY_SIMPLEX,
cv2.FONT_HERSHEY_PLAIN,
cv2.FONT_HERSHEY_DUPLEX,
cv2.FONT_HERSHEY_COMPLEX,
cv2.FONT_HERSHEY_COMPLEX_SMALL,
cv2.FONT_HERSHEY_TRIPLEX,
cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,
cv2.FONT_HERSHEY_SCRIPT_COMPLEX,
cv2.FONT_ITALIC]
fonts_str = ['FONT_HERSHEY_SIMPLEX',
'FONT_HERSHEY_PLAIN',
'FONT_HERSHEY_DUPLEX',
'FONT_HERSHEY_COMPLEX',
'FONT_HERSHEY_COMPLEX_SMALL',
'FONT_HERSHEY_TRIPLEX',
'FONT_HERSHEY_SCRIPT_SIMPLEX',
'FONT_HERSHEY_SCRIPT_COMPLEX',
'FONT_ITALIC']
# 검정색 이미지 생성
img = np.zeros((400, 650, 3))
# Font 그리기
for i in range(0, len(fonts)):
point = 30, 30 + (i * 40)
cv2.putText(img, f'{fonts_str[i]}', point, fonts[i], 1, white_color, 2)
cv2_imshow(img)
![](https://blog.kakaocdn.net/dn/RHn7U/btrUaWhQXFL/bafPWZzqHFOdAgLrwFDKck/img.png)
Reference
https://docs.opencv.org/4.6.0/d6/d6e/group__imgproc__draw.html#ga5126f47f883d730f633d74f07456c576
https://copycoding.tistory.com/151
...끝
'ML & DL > OpenCV' 카테고리의 다른 글
[OpenCV] 1. 이미지와 비디오 입출력 (0) | 2023.02.13 |
---|---|
[OpenCV] 0. CV 프로젝트 진행을 위한 OpenCV (0) | 2023.02.13 |
[OpenCV] Error : OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'add' (0) | 2022.12.27 |
[OpenCV] Error : Can't parse 'center'. Sequence item with index 0 has a wrong type (0) | 2022.12.09 |
[OpenCV] BRG 이미지를 RGB 이미지로 변환하기 (0) | 2022.12.09 |
댓글