我正在编写一个需要在Tkinter窗口中显示视频流的程序.由于还有用于执行各种功能的按钮,我正在使用网格来组织所有内容.
以下代码,从显示网络摄像头序列TkInter修改,在我的Raspberry Pi上正常工作:
import Tkinter as tk
import cv2
from PIL import Image, ImageTk
width, height = 800, 600
cap = cv2.VideoCapture(0)
root = tk.Tk()
lmain = tk.Label(root)
lmain.pack()
def show_frame():
_, frame = cap.read()
frame = cv2.flip(frame, 1)
cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
img = Image.fromarray(cv2image)
imgtk = ImageTk.PhotoImage(image=img)
lmain.imgtk = imgtk
lmain.configure(image=imgtk)
lmain.after(10, show_frame)
show_frame()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
但是,将它与Tkinter结合使用并不起作用.(在下文中,我尝试评论显示1,显示2,两者都没有.)
import numpy as np
import cv2
import Tkinter as tk
import Image, ImageTk
#Set up GUI
window = tk.Tk() #Makes …Run Code Online (Sandbox Code Playgroud)