[python] PyTesseract를 사용하여 수식이 포함된 이미지의 텍스트 추출하기

이미지에서 텍스트를 추출하는 것은 OCR (Optical Character Recognition) 기술을 사용하는데 매우 유용합니다. PyTesseract는 Python에서 OCR을 수행하기 위한 인기있는 라이브러리입니다. 이 라이브러리를 사용하여 이미지에서 수식이 포함된 텍스트를 추출하는 방법에 대해 알아보겠습니다.

1. PyTesseract 설치하기

먼저, PyTesseract를 설치해야 합니다. 다음 명령어를 사용하여 PyTesseract를 설치할 수 있습니다.

pip install pytesseract

또한, Tesseract OCR 엔진을 설치해야 합니다. 다음은 Windows, macOS, Linux를 위한 설치방법입니다.

2. 이미지에서 수식이 포함된 텍스트 추출하기

이제 이미지에서 수식이 포함된 텍스트를 추출하는 방법을 알아보겠습니다. 다음은 이 과정을 수행하기 위한 예제 코드입니다.

import pytesseract
from PIL import Image

def extract_text_from_image(image_path):
    image = Image.open(image_path)
    text = pytesseract.image_to_string(image, lang='eng')
    return text

image_path = '수식이_포함된_이미지.png'
text = extract_text_from_image(image_path)
print(text)

위 코드에서 extract_text_from_image 함수는 이미지 파일 경로를 입력으로 받고, 해당 이미지 파일에서 텍스트를 추출하여 반환합니다. pytesseract.image_to_string 함수를 사용하여 이미지에서 텍스트를 추출합니다. 해당 함수의 lang 매개변수를 이용하여 언어를 설정할 수 있습니다.

출력 결과는 이미지에서 추출된 텍스트입니다.

3. 예외 상황 처리

PyTesseract를 사용하여 이미지에서 텍스트를 추출할 때, 때로는 정확한 결과를 얻기 어려울 수 있습니다. 이러한 상황에 대비하여 예외 처리를 추가하는 것이 좋습니다. 다음은 예외 상황 처리를 추가한 예제 코드입니다.

def extract_text_from_image(image_path):
    try:
        image = Image.open(image_path)
        text = pytesseract.image_to_string(image, lang='eng')
        return text
    except Exception as e:
        print(f"Error: {e}")
        return ""

위 코드에서 예외 발생 시 오류 메시지를 출력하고 빈 문자열을 반환합니다.

참고 자료