opencv-tkinter集成中的视频闪烁

opencv-tkinter集成中的视频闪烁,第1张

opencv-tkinter集成中的视频闪烁

解决方案:确保图像配置调用先于将图像存储在标签

image
属性中。我已经设法解决了这个问题,但是由于我是python /
tkinter新手,所以我不完全理解为什么它能工作。我现在将发布解决方案,并在设法找到对此行为的适当解释时更新答案。我最好的猜测是,将图像存储在label属性中实际上是导致其在屏幕上更新的原因,而configure方法只是声明将附加一个图像,这导致循环必须进行另一次迭代在进入更新映像更新语句之前。下面的代码可以正常工作而不会闪烁:

from tkinter import *from PIL import Image, ImageTkimport cv2import threadingcap = cv2.VideoCapture(0)root = Tk()def videoLoop():    global root    global cap    vidLabel = Label(root, anchor=NW)    vidLabel.pack(expand=YES, fill=BOTH)    while True:        ret, frame = cap.read()        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)        frame = Image.fromarray(frame)        frame = ImageTk.PhotoImage(frame)        vidLabel.configure(image=frame)        vidLabel.image = framevideoThread = threading.Thread(target=videoLoop, args=())videoThread.start()root.mainloop()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5629697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存