[python] OpenCV를 사용하여 이미지에서 텍스트 감지하기

이미지에서 텍스트를 감지하는 작업은 컴퓨터 비전 분야에서 중요한 주제입니다. 텍스트 감지는 광학 문자 인식(OCR), 개체 검출, 문서 분류 등 다양한 응용 프로그램에 사용될 수 있습니다. 이번 블로그에서는 Python과 OpenCV를 사용하여 이미지에서 텍스트를 감지하는 방법에 대해 알아보겠습니다.

1. OpenCV 설치하기

먼저, Python에서 OpenCV를 사용하기 위해 OpenCV 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

2. 이미지 불러오기

텍스트를 감지할 이미지를 불러와야 합니다. 다음은 OpenCV를 사용하여 이미지를 불러오는 예제입니다.

import cv2

image = cv2.imread("image.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

위의 코드에서 image.jpg 대신에 실제 이미지 파일의 경로를 입력해야 합니다. 이미지를 불러온 후에는 텍스트를 감지하기 쉬운 흑백 이미지로 변환해야 합니다.

3. 텍스트 감지

OpenCV의 텍스트 감지 기능을 사용하여 이미지에서 텍스트를 감지할 수 있습니다. 다음은 텍스트 감지를 위한 코드입니다.

import cv2
import pytesseract

# 이미지 전처리
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
_, threshold = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# 이미지에서 텍스트 감지하기
text = pytesseract.image_to_string(threshold)

print(text)

위의 코드에서는 먼저 이미지를 흑백으로 변환하고, 블러링(blurring)을 적용하여 이미지를 부드럽게 만들었습니다. 그런 다음 이미지를 이진화(thresholding)하여 텍스트가 명확하게 보이도록 만듭니다. 마지막으로 pytesseract 라이브러리를 사용하여 이미지에서 텍스트를 추출합니다.

4. 결과 확인하기

텍스트 감지가 완료되면, 추출된 텍스트를 확인하여 정확성을 확인할 수 있습니다.

print(text)

이렇게 하면 이미지에서 감지된 텍스트가 출력됩니다.

결론

Python과 OpenCV를 사용하여 이미지에서 텍스트를 감지하는 방법에 대해 알아보았습니다. 텍스트 감지는 다양한 응용 프로그램에서 필수적인 작업이며, OpenCV와 pytesseract를 함께 사용하면 효과적으로 텍스트를 추출할 수 있습니다. 이를 응용하여 광학 문자 인식(OCR)이나 문서 분류와 같은 작업을 수행할 수 있습니다.