1. 程式人生 > >Python+opencv+tkinter整合demo完成!

Python+opencv+tkinter整合demo完成!

Python+opencv+tkinter整合demo

由於需要使用opencv進行小demo開發但是由於opencv所帶的GUI功能目前還是很簡單的,所以使用opencvv+tkinter組合實現!

先上結果圖!


在GUI中點選點贊按鈕在控制檯就可以顯示”有人給你點贊“。

直接上程式碼:

from tkinter import *
import cv2from PIL import Image,ImageTk


def take_snapshot():
    print("有人給你點贊啦!")

def video_loop():
    success, img = camera.read()  # 
從攝像頭讀取照片 if success: cv2.waitKey(1000) cv2image = cv2.cvtColor(img, cv2.COLOR_BGR2RGBA)#轉換顏色從BGRRGBA current_image = Image.fromarray(cv2image)#將影象轉換成Image物件 imgtk = ImageTk.PhotoImage(image=current_image) panel.imgtk = imgtk panel.config(image=imgtk) root.after(1
, video_loop) camera = cv2.VideoCapture(0) #攝像頭 root = Tk() root.title("opencv + tkinter") #root.protocol('WM_DELETE_WINDOW', detector) panel = Label(root) # initialize image panel panel.pack(padx=10, pady=10) root.config(cursor="arrow") btn = Button(root, text="點贊!", command=take_snapshot) btn.pack(fill
="both", expand=True, padx=10, pady=10) video_loop() root.mainloop() # 當一切都完成後,關閉攝像頭並釋放所佔資源 camera.release() cv2.destroyAllWindows()
程式碼中有詳細註釋,就不詳細描述了
程式碼直接複製貼上到本地即可執行!