[python] PyTesseract를 사용하여 스크립트에서 배우의 대사 추출하기

이번 포스트에서는 PyTesseract 라이브러리를 사용하여 이미지에서 텍스트를 추출하는 방법을 알아보겠습니다. 특히, 스크립트나 대본에서 특정 배우의 대사를 추출하는 예제를 다룰 것입니다.

필요한 라이브러리 설치하기

PyTesseract를 사용하기 위해서는 pytesseract 패키지와 Tesseract OCR 엔진이 설치되어 있어야 합니다. 아래의 명령어를 사용하여 필요한 패키지를 설치해주세요.

pip install pytesseract

Tesseract OCR 엔진은 별도로 설치해야 합니다. 설치 방법은 운영체제에 따라 다를 수 있으므로, 해당 문서를 참고하세요.

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

PyTesseract를 사용하여 이미지에서 텍스트를 추출하는 예제 코드는 다음과 같습니다.

import pytesseract
from PIL import Image

# 이미지 로드하기
image = Image.open("대본.jpg")

# 이미지에서 텍스트 추출하기
text = pytesseract.image_to_string(image)

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

위의 예제 코드에서 image_to_string() 함수를 호출하여 이미지에서 텍스트를 추출합니다. 이후 print() 함수를 사용하여 추출된 텍스트를 출력합니다.

배우의 대사 추출하기

스크립트나 대본에서 특정 배우의 대사를 추출하기 위해서는 텍스트 추출 결과를 분석해야 합니다. 예를 들어, 배우의 대사는 특정한 형식 또는 패턴을 가지고 있을 수 있습니다. 이를 활용하여 추출된 텍스트에서 배우의 대사를 찾을 수 있습니다.

아래는 예제 코드에서 추출된 텍스트를 분석하여 배우의 대사만을 추출하는 함수의 예입니다.

def extract_actor_dialogue(text, actor_name):
    dialogue_list = []
    lines = text.split("\n")
    for line in lines:
        if actor_name in line:
            dialogue = line.replace(actor_name, "").strip()
            dialogue_list.append(dialogue)
    return dialogue_list

# 배우의 대사 추출하기
actor_name = "배우 이름"
dialogues = extract_actor_dialogue(text, actor_name)

# 추출된 대사 출력하기
for dialogue in dialogues:
    print(dialogue)

위의 예제 코드에서는 extract_actor_dialogue() 함수를 사용하여 텍스트에서 배우의 대사를 추출합니다. 함수는 텍스트를 줄 단위로 분할하고, 해당 줄에 배우의 이름이 포함되어 있는지 확인합니다. 배우의 이름이 포함된 줄에서 배우의 대사만 따로 추출하여 리스트에 저장합니다.

사용자는 actor_name 변수에 원하는 배우의 이름을 입력하고, extract_actor_dialogue() 함수를 호출하여 해당 배우의 대사를 추출할 수 있습니다.

마무리

PyTesseract를 사용하여 이미지에서 텍스트를 추출하는 방법과 스크립트에서 특정 배우의 대사를 추출하는 방법을 알아보았습니다. 이를 응용하여 다양한 스크립트 분석 작업에 활용할 수 있습니다. PyTesseract의 성능은 이미지 품질에 따라 다를 수 있으므로, 튜닝과 옵션 설정을 통해 최적의 결과를 얻을 수 있습니다.

더 자세한 내용은 PyTesseract 공식 문서를 참고하시기 바랍니다.