Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การใช้ OpenCV กับ Tkinter


Open CV คือไลบรารี Python ที่ใช้ในการทำงานกับ Computer Vision และสิ่งประดิษฐ์ประดิษฐ์อื่นๆ Open CV มีฟังก์ชันและวิธีการที่ฝังอยู่ภายในซึ่งให้การเข้าถึงการทำงานกับ Computer Vision ในปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง ตัวอย่างบางส่วนของ Open CV ได้แก่ การตรวจจับใบหน้า การตรวจจับวัตถุ การเอ็กซ์เรย์ และการใช้งานในอุตสาหกรรมอื่นๆ

เมื่อใช้ Tkinter Library เราสามารถสร้างแอปพลิเคชันแบบโต้ตอบที่ใช้ OpenCV เป็นส่วนสำคัญของแอปพลิเคชันได้

ในการสร้างแอปพลิเคชัน คุณจะต้องติดตั้ง OpenCV ในเครื่องของคุณ และตรวจดูให้แน่ใจว่าได้ติดตั้งแพ็คเกจ Python Pillow ไว้ล่วงหน้าแล้ว คุณสามารถติดตั้งแพ็คเกจเหล่านี้ได้โดยพิมพ์คำสั่งต่อไปนี้ในโน้ตบุ๊ก

pip install open-cv
pip install Pillow

เมื่อการติดตั้งเสร็จสมบูรณ์ เราสามารถเริ่มสร้างโครงสร้างและ GUI ของแอปพลิเคชันได้ ฟังก์ชันพื้นฐานของแอปพลิเคชันของเราคือเปิดกล้องเว็บ (ถ้าเป็นไปได้) โดยใช้ OpenCV ดังนั้น เพื่อแสดงเฟรมที่จับภาพทุกเฟรม เราสามารถใช้แพ็คเกจ Python Pillow (PIL) ซึ่งแปลงเฟรมเป็นอิมเมจ ตอนนี้รูปภาพสามารถใช้ในวิดเจ็ตป้ายกำกับที่แสดงทุกเฟรมที่จับภาพซ้ำในหน้าต่างได้

ตัวอย่าง

# 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()

ผลลัพธ์

เมื่อเรารันโค้ดข้างต้น จะแสดงหน้าต่างที่เปิดกล้องของผู้ใช้เพื่อจับภาพเฟรม

การใช้ OpenCV กับ Tkinter