[python] PyTesseract를 사용하여 로또 번호를 추출하고 저장하기

이번 포스트에서는 PyTesseract를 사용하여 이미지에서 로또 번호를 추출하고 저장하는 방법을 알아보겠습니다. PyTesseract는 Python에서 Tesseract OCR 엔진에 접근할 수 있도록 하는 라이브러리입니다. Tesseract OCR 엔진은 이미지를 입력으로 받아 문자를 인식하는 데 사용됩니다.

설치하기

먼저 PyTesseract를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install pytesseract

또한 Tesseract OCR 엔진을 설치해야 합니다. 각 운영체제에 맞는 Tesseract OCR 엔진을 다운로드하여 설치하십시오. 자세한 내용은 Tesseract OCR GitHub 페이지에서 확인할 수 있습니다.

이미지에서 로또 번호 추출하기

다음은 이미지에서 로또 번호를 추출하는 예제 코드입니다.

import cv2
import pytesseract

def extract_lotto_numbers(image_path):
    # 이미지 읽기
    image = cv2.imread(image_path)

    # 이미지 전처리 및 gray scale 변환
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]

    # 이미지에서 텍스트 추출
    numbers = pytesseract.image_to_string(gray, config='--psm 6')

    return numbers

# 이미지 경로
image_path = 'lotto_numbers.png'

# 로또 번호 추출
lotto_numbers = extract_lotto_numbers(image_path)

# 추출된 로또 번호 출력
print(lotto_numbers)

위 코드에서 extract_lotto_numbers 함수는 이미지 경로를 입력으로 받아 이미지에서 로또 번호를 추출합니다. pytesseract.image_to_string 함수를 사용하여 이미지에서 텍스트를 추출합니다.

추출한 로또 번호 저장하기

추출한 로또 번호를 파일로 저장하는 방법을 알아보겠습니다. 다음은 추출한 로또 번호를 lotto_numbers.txt 파일에 저장하는 예제 코드입니다.

def save_lotto_numbers(lotto_numbers, output_file):
    with open(output_file, 'w') as file:
        file.write(lotto_numbers)

# 로또 번호 저장 파일 경로
output_file = 'lotto_numbers.txt'

# 추출한 로또 번호 저장
save_lotto_numbers(lotto_numbers, output_file)

위 코드에서 save_lotto_numbers 함수는 추출한 로또 번호와 출력 파일 경로를 입력으로 받아 해당 파일에 번호를 저장합니다.

결론

이렇게 PyTesseract를 사용하여 이미지에서 로또 번호를 추출하고 저장하는 방법을 알아보았습니다. PyTesseract는 다양한 이미지 처리 작업에서 텍스트 인식을 할 수 있기 때문에 유용한 도구입니다. 이미지 처리나 OCR 작업을 할 때 PyTesseract를 사용하여 작업의 효율성을 높일 수 있습니다.