[python] PyTesseract를 사용하여 원고지에서 텍스트 추출하기
이 글에서는 PyTesseract를 사용하여 원고지에서 텍스트를 추출하는 방법을 알아보겠습니다. PyTesseract는 Python용 OCR(광학 문자 인식) 라이브러리로, 이미지에서 텍스트를 인식할 수 있습니다.
1. PyTesseract 설치하기
먼저, PyTesseract를 설치해야 합니다. 다음 명령을 사용하여 PyTesseract를 설치할 수 있습니다.
pip install pytesseract
또한, PyTesseract를 사용하기 위해서는 Tesseract OCR 엔진이 설치되어야 합니다. 다음 링크에서 필요한 파일을 다운로드하고 설치합니다.
2. 이미지에서 텍스트 추출하기
이제 PyTesseract를 사용하여 이미지에서 텍스트를 추출해 보겠습니다. 먼저, 필요한 라이브러리를 import합니다.
import cv2
import pytesseract
다음으로, 이미지를 읽어옵니다.
image = cv2.imread('manuscript.jpg')
이미지에서 텍스트를 추출하려면, 이미지를 그레이스케일로 변환해야 합니다.
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
이제 PyTesseract를 사용하여 이미지에서 텍스트를 추출합니다.
text = pytesseract.image_to_string(gray_image)
print(text)
이 코드를 실행하면, 원고지 이미지에서 추출된 텍스트가 출력됩니다.
3. 추가 설정 및 옵션
PyTesseract에는 이미지 처리를 위한 다양한 설정과 옵션이 있습니다.
config
매개변수를 사용하여 Tesseract OCR에 전달할 설정을 지정할 수 있습니다. 예를 들어, 언어 설정이나 OCR 엔진 모드를 변경할 수 있습니다.
text = pytesseract.image_to_string(gray_image, lang='kor', config='--psm 6')
- 이미지 전처리 기술을 사용하여 OCR 성능을 향상시킬 수 있습니다. 예를 들어, 이미지를 이진화하거나 노이즈를 제거하는 등의 처리를 할 수 있습니다.
_, threshold_image = cv2.threshold(gray_image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
- PyTesseract를 사용하기 전에 이미지를 사전에 처리하고 싶다면, 다른 라이브러리(예: OpenCV)를 사용하여 이미지를 처리할 수 있습니다.
processed_image = cv2.GaussianBlur(gray_image, (5, 5), 0)
text = pytesseract.image_to_string(processed_image)
PyTesseract의 자세한 사용법과 설정에 대해서는 공식 문서를 참조하시기 바랍니다.
이제 PyTesseract를 사용하여 원고지에서 텍스트를 추출하는 방법을 알게 되었습니다. 텍스트 추출을 활용하여 다양한 원고지, 문서 또는 이미지를 자동으로 인식하고 처리할 수 있습니다.