이미지에서 텍스트를 추출하는 작업은 꽤 흔한 작업입니다. 이를 위해 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의 공식 문서를 참조하시기 바랍니다.