이미지 안에 텍스트 추출하는 방법
소개
Python과 Pytesseract를 사용해 이미지에서 텍스트를 쉽게 추출하는 방법을 소개하겠습니다. 초보자도 따라할 수 있는 간단한 단계별 지침으로, 데이터 분석과 자동화 작업에 유용하게 사용하실 수 있습니다.
이미지 속 텍스트 추출하는 법
이미지 안에 있는 글씨를 추출하기 위해 Python에서는 보통 Pytesseract 라이브러리를 사용합니다. Pytesseract는 Google의 Tesseract-OCR 엔진을 Python에서 사용할 수 있게 해주는 소프트웨어입니다. 먼저, Tesseract-OCR을 시스템에 설치해야 합니다. 그 후에 Python에서 pytesseract와 Pillow 라이브러리를 사용하여 이미지에서 텍스트를 추출할 수 있습니다.
1. Tesseract-OCR 설치
- Windows: Tesseract at UB Mannheim에서 설치 프로그램을 다운로드하여 설치합니다.
- macOS: Homebrew를 사용하여 brew install tesseract 명령어로 설치합니다.
- Linux: sudo apt install tesseract-ocr 명령어로 설치합니다.
2. 필요한 Python 라이브러리 설치
pip install pytesseract pillow
3. Python 코드
from tkinter import Tk, filedialog
import pytesseract
from PIL import Image
def select_image_file():
# Tkinter 창을 사용하지 않고 파일 선택 대화 상자만 사용
root = Tk()
root.withdraw()
# 파일 선택 대화 상자 열기
file_path = filedialog.askopenfilename()
return file_path
# 이미지 파일 선택
image_path = select_image_file()
# 이미지에서 텍스트 추출
if image_path:
img = Image.open(image_path)
text = pytesseract.image_to_string(img, lang='kor') # 한국어 추출을 위해 'kor' 사용
print(text)
else:
print("파일이 선택되지 않았습니다.")
4. 실행
작성 완료 후 실행하시면 텍스트를 추출할 이미지를 선택하라는 윈도우 파일 선택 대화 상자가 열립니다. 사용자가 이미지를 선택하면 텍스트를 추출하여 화면에 한국어로 추출해줍니다.
에러 확인
에러문구 Case 1.
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.
해결방법: pytesseract.pytesseract.TesseractNotFoundError 오류는 시스템에 Tesseract OCR이 설치되어 있지 않거나, Python이 Tesseract의 설치 위치를 찾을 수 없을 때 발생합니다.
Tesseract OCR 설치 확인
Windows에서는 일반적으로 C:\Program Files\Tesseract-OCR에 설치됩니다. 해당 경로로 이동하여 폴더가 있는지 확인합니다. 만약 없다면 Tesseract at UB Mannheim 사이트로 이동하여 tesseract-ocr-w64-setup-5.3.3.20231005.exe (64 bit) 파일을 다운로드 후 설치하시면 됩니다.
Python에 Tesseract 경로 설정
Tesseract가 설치되어 있지만 여전히 오류가 발생한다면, Python이 Tesseract의 경로를 찾을 수 있도록 설정해야 합니다. pytesseract에 Tesseract의 경로를 설정합니다. 위에서 작성한 Python 코드에 아래 코드를 추가 합니다.
import pytesseract
# Tesseract 경로 설정
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' # Windows 예시
# pytesseract.pytesseract.tesseract_cmd = '/usr/local/bin/tesseract' # macOS/Linux 예시
# 이하 코드는 동일...
에러문구 Case 2.
ytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\\Program Files\\Tesseract-OCR/tessdata/kor.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'kor\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')
해결방법: pytesseract.pytesseract.TesseractError 오류 메시지는 Tesseract가 한국어 데이터 파일(kor.traineddata)을 찾을 수 없을 때 발생합니다.
Tesseract 언어 데이터 파일 확인
Tesseract의 tessdata 폴더 안에 kor.traineddata 파일이 있는지 확인합니다. 언어 데이터 파일이 없다면 kor.traineddata 파일을 tesseract-ocr/tessdata에서 다운로드합니다. 다운로드 완료 후 다운로드한 파일을 Tesseract의 tessdata 폴더에 복사합니다.
TESSDATA_PREFIX 환경 변수 설정
환경 변수 TESSDATA_PREFIX를 설정하여 Tesseract가 tessdata 폴더의 위치를 알 수 있도록 해야 합니다.
1. 환경 변수 설정 (Windows):
- 시스템 속성 -> 고급 -> 환경 변수로 이동합니다.
- 시스템 변수 섹션에서 '새로 만들기'를 클릭하고 변수 이름에 TESSDATA_PREFIX, 값에 Tesseract의 tessdata 폴더 경로를 입력합니다 (예: C:\Program Files\Tesseract-OCR).
2. 환경 변수 설정 (macOS/Linux):
터미널에서 다음 명령어를 입력합니다:
export TESSDATA_PREFIX=/usr/local/share/ # 경로는 실제 설치 위치에 따라 다를 수 있음
- .bashrc나 .zshrc 파일에 위의 줄을 추가하여 영구적으로 설정할 수도 있습니다.
Python 코드 추가 작성
import pytesseract
# Tesseract 경로 설정 (Windows 예시)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
# 이미지에서 텍스트 추출 (한국어 설정)
text = pytesseract.image_to_string(img, lang='kor')
이러한 단계를 거쳐도 문제가 해결되지 않는다면, Tesseract 설치를 다시 확인하거나 시스템 재부팅해야 합니다.
'IT > Software' 카테고리의 다른 글
키보드 문제 해결 가이드: Aqua's KeyTest 프로그램으로 쉽게 진단하기 (0) | 2024.02.13 |
---|---|
AutoCAD 소프트웨어 무료 사용하기: 단계별 가이드 (2) | 2024.01.21 |
Tesseract-OCR 엔진, 이미지 속 글자 추출을 위한 도구 (0) | 2023.12.15 |
[WordPress] 워드프레스 쉽게 카테고리 ID 확인하는 법 (0) | 2023.12.14 |
[HWP] 한글 파일 뷰어 프로그램 및 설치 없이 보는 방법 (0) | 2023.12.14 |
댓글