Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter에서 OpenCV 사용하기

<시간/>

Open CV는 Computer Vision 및 기타 인공 인공물과 함께 작업하는 데 사용되는 Python 라이브러리입니다. Open CV에는 인공 지능 및 기계 학습에서 컴퓨터 비전 작업에 대한 액세스를 제공하는 기능과 방법이 내장되어 있습니다. Open CV의 몇 가지 예는 얼굴 감지, 물체 감지, X선 및 기타 산업 용도입니다.

Tkinter 라이브러리를 사용하여 OpenCV를 응용 프로그램의 필수 부분으로 사용하는 대화형 응용 프로그램을 만들 수 있습니다.

응용 프로그램을 만들려면 로컬 컴퓨터에 OpenCV를 설치하고 Python Pillow 패키지가 사전 설치되어 있는지 확인해야 합니다. 노트북에 다음 명령을 입력하여 이러한 패키지를 설치할 수 있습니다.

pip install open-cv
pip install Pillow

설치가 완료되면 애플리케이션의 구조와 GUI 생성을 시작할 수 있습니다. 우리 응용 프로그램의 기본 기능은 OpenCV를 사용하여 웹 카메라(가능한 경우)를 여는 것입니다. 따라서 캡처된 모든 프레임을 표시하려면 프레임을 이미지로 변환하는 PIL(Python Pillow) 패키지를 사용할 수 있습니다. 이미지는 이제 창에 캡처된 모든 프레임을 반복적으로 표시하는 레이블 위젯에서 사용할 수 있습니다.

예시

# Import required Libraries
from tkinter import *
from PIL import Image, ImageTk
import cv2

# Create an instance of TKinter Window or frame
win= Tk()

# Set the size of the window
win.geometry("700x350")# Create a Label to capture the Video frames
label =Label(win)
label.grid(row=0, column=0)
cap= cv2.VideoCapture(0)

# Define function to show frame
   def show_frames():
      # Get the latest frame and convert into Image
      cv2image= cv2.cvtColor(cap.read()[1],cv2.COLOR_BGR2RGB)
      img = Image.fromarray(cv2image)

      # Convert image to PhotoImage
      imgtk = ImageTk.PhotoImage(image = img)
      label.imgtk = imgtk
      label.configure(image=imgtk)

# Repeat after an interval to capture continiously
label.after(20, show_frames)

show_frames()
win.mainloop()

출력

위의 코드를 실행하면 프레임을 캡처하기 위해 사용자 카메라를 여는 창이 표시됩니다.

Tkinter에서 OpenCV 사용하기