파이썬과 OpenCV를 사용하여 동영상에서 텍스트 인식하기

이번 블로그 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 텍스트를 인식하는 방법에 대해 알아보겠습니다. 텍스트 인식은 이미지나 비디오에서 텍스트를 자동으로 감지하고 추출하는 프로세스를 의미합니다. 이를 통해 자동 번역 시스템, 영상 검색, 자동 차량 등 다양한 응용 분야에서 활용할 수 있습니다.

필요한 라이브러리 설치

텍스트 인식을 위해 우선 필요한 라이브러리를 설치해야 합니다. 파이썬의 패키지 관리자인 pip를 사용하여 OpenCV를 설치합니다.

pip install opencv-python

동영상에서 텍스트 인식하기

1. 동영상 로드하기

먼저 우리는 동영상 파일을 로드해야 합니다. OpenCV의 VideoCapture 클래스를 사용하여 동영상을 열고 프레임 단위로 읽어올 수 있습니다.

import cv2

cap = cv2.VideoCapture("video.mp4")

2. 프레임에서 텍스트 인식하기

텍스트 인식을 위해 우리는 프레임별로 이미지를 추출하고, 이를 텍스트로 변환하는 과정이 필요합니다. OpenCV의 cv2.text.TextDetectorCNN_create() 함수를 사용하여 텍스트 디텍터를 생성하고, detect() 함수를 사용하여 프레임에서 텍스트를 인식합니다.

# 텍스트 디텍터 생성
text_detector = cv2.text.TextDetectorCNN_create()

while cap.isOpened():
    # 프레임 읽기
    ret, frame = cap.read()
    
    if not ret:
        break
    
    # 텍스트 디텍션
    rects, scores = text_detector.detect(frame)
    
    for i, rect in enumerate(rects):
        x, y, w, h = rect
        text = frame[y:y+h, x:x+w]
        
        # 추출한 텍스트를 활용하여 원하는 작업 수행
        
    # 결과 프레임 출력
    cv2.imshow("Text Recognition", frame)
    
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

3. 결과 확인하기

프레임에서 추출한 텍스트를 활용하여 자신이 원하는 작업을 수행할 수 있습니다. 텍스트를 번역한다거나 특정 텍스트를 검색한다거나 하는 등의 작업을 할 수 있습니다. 본 예시에서는 추출한 텍스트를 화면에 출력하는 것으로 결과를 확인합니다.

# 추출한 텍스트 출력
for i, rect in enumerate(rects):
    x, y, w, h = rect
    text = frame[y:y+h, x:x+w]
    print(f"Text {i}: {text}")

마치며

이번 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 텍스트를 인식하는 방법을 살펴보았습니다. 텍스트 인식은 사물 인식 분야에서 매우 중요한 기술로 활용되고 있으며, 이를 통해 다양한 응용 분야에서 자동화된 작업을 수행할 수 있습니다.

더 자세한 내용은 아래의 참고 자료를 확인해주세요.

#Python #OpenCV