[python] PySimpleGUI에서 이미지 인식 및 판독 기능 사용하기
PySimpleGUI는 사용자 인터페이스를 만들기 위한 파이썬 라이브러리입니다. 이 라이브러리를 사용하여 이미지 인식 및 판독 기능을 구현하는 방법에 대해 알아보겠습니다.
1. 이미지 인식을 위한 라이브러리 설치
이미지 인식을 위해서는 OpenCV 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 OpenCV를 설치합니다.
pip install opencv-python
2. 이미지 선택 기능 추가하기
먼저, PySimpleGUI를 사용하여 이미지를 선택할 수 있는 기능을 추가해야 합니다. 아래의 코드를 사용하여 이미지 선택 버튼을 생성합니다.
import PySimpleGUI as sg
layout = [
[sg.Text("이미지 선택:")],
[sg.Input(key="-FILE-", enable_events=True), sg.FileBrowse()],
[sg.Image(key="-IMAGE-")],
[sg.Button("인식")],
]
window = sg.Window("이미지 인식", layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == "-FILE-":
filename = values["-FILE-"]
if filename:
img = cv2.imread(filename)
window["-IMAGE-"].update(data=cv2.imencode(".png", img)[1].tobytes())
window.close()
3. 이미지 인식 및 판독 기능 추가하기
이제 이미지를 선택한 후 “인식” 버튼을 누르면 이미지를 판독하는 기능을 추가해 보겠습니다. 아래의 코드를 이전의 코드에 추가합니다.
import pytesseract
def recognize_text(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)
return text
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == "-FILE-":
filename = values["-FILE-"]
if filename:
img = cv2.imread(filename)
window["-IMAGE-"].update(data=cv2.imencode(".png", img)[1].tobytes())
if event == "인식":
text = recognize_text(img)
sg.popup("인식 결과", text)
위의 코드에서 pytesseract
모듈은 이미지에서 텍스트를 추출하는 데 사용됩니다. 해당 모듈을 사용하기 위해서는 추가적인 설치가 필요합니다. 아래의 명령어로 pytesseract
를 설치합니다.
pip install pytesseract
4. 실행 및 결과 확인하기
모든 코드를 작성한 후 스크립트를 실행해보세요. 이미지를 선택하고 “인식” 버튼을 누르면 선택한 이미지에서 텍스트가 추출되어 결과가 팝업 창으로 나타납니다.
이제 PySimpleGUI를 사용하여 이미지 인식 및 판독 기능을 쉽게 구현할 수 있습니다. 이를 활용하여 다양한 프로젝트에 적용해보세요.