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

소개

이번 블로그 포스트에서는 PyTesseract라는 Python 라이브러리를 사용하여 이미지에서 전화 번호를 추출하고, 추출한 전화 번호를 저장하는 방법에 대해 알아보겠습니다. 전화 번호 추출은 OCR (Optical Character Recognition) 기술을 사용하여 이미지에서 텍스트를 인식하는 과정을 의미합니다.

PyTesseract란?

PyTesseract는 Google에서 개발한 OCR 엔진 중 하나로, 이미지나 PDF와 같은 비정형 데이터에서 텍스트를 추출하는 데 사용됩니다. PyTesseract는 Tesseract OCR을 Python에서 사용할 수 있도록 한 Wrapper 라이브러리입니다.

이미지에서 전화 번호 추출하기

전화 번호 추출을 위해 우선 PyTesseract를 설치해야 합니다. 다음 명령어를 사용하여 PyTesseract를 설치할 수 있습니다:

pip install pytesseract

이제 추출하려는 이미지 파일을 준비하세요. PyTesseract는 OCR 엔진으로 Tesseract를 사용하기 때문에, Tesseract가 이미 설치되어 있어야 합니다. Tesseract를 설치하는 방법은 다음 링크를 참조하세요: Tesseract 설치하기

이미지에서 전화 번호를 추출하기 위해 다음 단계를 따르세요:

  1. PyTesseract 라이브러리를 가져옵니다:
    import pytesseract
    
  2. 추출할 이미지 파일을 지정합니다:
    image_path = "이미지 파일 경로"
    
  3. 이미지 파일을 OCR 엔진에 전달하여 텍스트 추출합니다:
    text = pytesseract.image_to_string(image_path, lang='eng')
    

    lang 매개변수는 추출할 언어를 지정합니다. 여기서는 영어로 지정하였지만, 다른 언어로 지정할 수도 있습니다.

추출한 전화 번호 저장하기

전화 번호 추출이 완료되었다면, 추출한 전화 번호를 저장해야 할 수도 있습니다. 추출한 전화 번호를 저장하기 위해 다음 단계를 따르세요:

  1. 저장할 파일 경로를 지정합니다:
    output_file = "저장할 파일 경로"
    
  2. 추출한 전화 번호를 파일에 저장합니다:
    with open(output_file, 'w') as file:
     file.write(text)
    

예제 코드

import pytesseract

# 이미지에서 전화 번호 추출
def extract_phone_number(image_path):
    text = pytesseract.image_to_string(image_path, lang='eng')
    return text

# 추출한 전화 번호 저장
def save_phone_number(phone_number, output_file):
    with open(output_file, 'w') as file:
        file.write(phone_number)

# 이미지 파일 경로
image_path = "image.png"

# 전화 번호 추출
phone_number = extract_phone_number(image_path)

# 추출한 전화 번호 저장
save_phone_number(phone_number, "phone_numbers.txt")

결론

이번 포스트에서는 PyTesseract를 사용하여 이미지에서 전화 번호를 추출하고, 추출한 전화 번호를 저장하는 방법을 알아보았습니다. PyTesseract는 강력한 OCR 엔진으로, 비정형 데이터에서 텍스트 추출을 위해 유용하게 사용할 수 있습니다. OCR 기술은 여러 분야에서 활용되고 있는데, 응용 프로그램과 웹 서비스 등에서 도움이 될 수 있습니다.