728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
이번에는 OpenCV를 활용하여 텍스트를 입력해보도록 하겠습니다.
사용할 코드는 다음과 같습니다.
cv2.putText(img, text, org, fontFace, fontScale, color, thickness, lineType, bottomLeftOrigin) -> img
- 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 : 문자열 선의 형태
- bottomLeftOrigin : 이미지/영상의 원점 좌표 설정 (True : 좌하단 왼쪽, False : 좌상단)
주피터 노트북으로 구현하기
import numpy as np
import cv2
- 필요한 라이브러리를 불러옵니다.
color1 = (98, 17, 0)
color2 = (155,200,230)
color3 = (254, 1, 15)
- 색상 변수를 지정해줍니다. (임의의 숫자로 설정했습니다.)
img = np.zeros((500, 500, 3), np.uint8)
img.fill(255)
- 3채널의 정수형 행렬을 생성하고, fill() 함수로 행렬의 색상을 흰색으로 지정했습니다.
cv2.putText(img, 'SEOKII BLOG', (50,50), cv2.FONT_HERSHEY_SIMPLEX, 1, color1, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,100), 1, 1, color2, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,150), 2, 2, color3, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,200), 3, 2, color1, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,250), 4, 2, color2, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,300), 5, 2, color3, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,350), 6, 2, color1, 2, cv2.LINE_AA)
cv2.putText(img, 'SEOKII BLOG', (50,400), cv2.FONT_HERSHEY_SCRIPT_COMPLEX, 2, color2, 2, cv2.LINE_AA)
cv2.imshow('input_Text', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
- 위의 코드 설명을 바탕으로, 다양한 글씨체와 색상을 적용했습니다. 결과는 아래와 같습니다.
이상으로 OpenCV를 활용하여 텍스트를 입력하는 방법이었습니다.
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 06. matplotlib에 이미지 불러오기 cv2.cvtColor() (0) | 2021.09.15 |
---|---|
[OpenCV with Python] - 05. 사진 파일 불러오기 (0) | 2021.09.12 |
[OpenCV with Python] - 03. 간단한 도형 그리기 (선, 사각형, 원) (0) | 2021.09.04 |
[OpenCV with Python] - 02. 트랙바(Trackbar) 만들기 (1) | 2021.09.04 |
[OpenCV with Python] - 01. OpenCV 시작하기 (0) | 2021.09.02 |
댓글