[python] 이미지에서 텍스트를 추출하고 이를 다른 포맷으로 변환하는 방법

이미지에서 텍스트를 추출하는 작업은 꽤 흔한 작업입니다. 이를 위해 Python에서는 다양한 라이브러리와 도구들을 제공하고 있습니다. 여기에서는 Pytesseract 라이브러리를 사용하여 이미지에서 텍스트를 추출하는 방법에 대해 알아보겠습니다.

Pytesseract 라이브러리 설치하기

먼저, Pytesseract 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

pip install pytesseract

이미지에서 텍스트 추출하기

Pytesseract는 Tesseract OCR(광학 문자 인식) 엔진을 래핑한 라이브러리입니다. 먼저, Tesseract OCR 엔진을 설치해야 합니다. 다음 링크에서 Tesseract OCR을 다운로드하고 설치할 수 있습니다.

설치가 완료되었다면, 다음과 같은 코드로 이미지에서 텍스트를 추출할 수 있습니다.

import pytesseract
from PIL import Image

# 이미지 열기
image = Image.open('이미지 파일 경로')

# 이미지에서 텍스트 추출
text = pytesseract.image_to_string(image, lang='kor')

# 추출된 텍스트 출력
print(text)

위 코드에서 image 객체는 이미지 파일 경로로 초기화되어야 합니다. image_to_string() 함수를 사용하여 이미지에서 텍스트를 추출할 수 있습니다. lang 매개변수를 사용하여 추출할 언어를 지정할 수 있습니다. 위 예제에서는 한국어로 추출하기 위해 lang='kor'로 설정하였습니다.

추출된 텍스트를 다른 포맷으로 변환하기

추출된 텍스트를 다른 포맷으로 변환하는 작업은 간단한 작업이지만, 변환할 포맷에 따라 다른 작업이 필요할 수 있습니다. 다음은 텍스트를 특정 포맷으로 변환하는 몇 가지 예시입니다.

텍스트를 파일로 저장하기

# 텍스트를 파일로 저장
with open('출력 파일 경로', 'w') as f:
    f.write(text)

텍스트를 CSV 파일로 저장하기

import csv

# 텍스트를 CSV 파일로 저장
with open('출력 파일 경로', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow([text])

텍스트를 PDF 파일로 저장하기

from fpdf import FPDF

# PDF 객체 생성
pdf = FPDF()
pdf.add_page()

# 텍스트를 PDF에 추가
pdf.set_font("Arial", size=12)
pdf.cell(0, 10, txt=text, ln=1, align='L')

# PDF 파일 저장
pdf.output('출력 파일 경로')

이처럼 이미지에서 추출된 텍스트를 각각의 포맷으로 변환할 수 있습니다. 필요에 따라 적절한 방법을 선택하여 사용하면 됩니다.

결론

Python의 Pytesseract 라이브러리를 사용하면 이미지에서 텍스트를 추출하고 다른 포맷으로 변환할 수 있습니다. 이미지 처리와 텍스트 추출에 대한 더 많은 기능을 알고 싶다면 Pytesseract의 공식 문서를 참조하시기 바랍니다.