参考博客:https://blog.csdn.net/jcfszxc/article/details/95827815
1.在tkinter上播放摄像头等视频的方法
因为tkinter的特性, 在主线程中的部分没有运行完成就无法刷新界面, 窗口会提示未响应. 导致画面无法实时刷新来播放视频.
首先, 网上所有的博客唯一能使得tk界面上出现动态效果的只有调用摄像头的代码
. 如下:

from tkinter import *
import cv2
from PIL import Image, ImageTkdef video_loop():success, img = camera.read()  # 从摄像头读取照片if success:cv2image = cv2.cvtColor(img, cv2.COLOR_BGR2RGBA)  # 转换颜色从BGR到RGBAcurrent_image = Image.fromarray(cv2image)  # 将图像转换成Image对象imgtk = ImageTk.PhotoImage(image=current_image)panel.imgtk = imgtkpanel.config(image=imgtk)root.after(1, video_loop)camera = cv2.VideoCapture(0)  # 摄像头root = Tk()
root.title("opencv + tkinter")panel = Label(root)  # initialize image panel
panel.pack(padx=10, pady=10)
root.config(cursor="arrow")video_loop()root.mainloop()
# 当一切都完成后,关闭摄像头并释放所占资源
camera.release()
cv2.destroyAllWindows()

为什么调用视频的程序就不会阻塞进程呢?

win.after()

原来tkinter还有.after()函数可以生成一个新进程, 并将其与您的Tkinter代码通过一个同步对象进行通信. 这样就可以完美解决进程阻塞的问题了. 调用摄像头, 实时获得图像并于tk界面进行通信并实时刷新.

Tkinter Learning:tkinter上实现视频流的播放(附源码)相关推荐

  1. Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW)

    Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  2. JAVA文件上传详解(附源码)

    文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...

  3. Android下拉刷新上拉更多瀑布流(附源码)

    关于瀑布流,我相信有很多朋友经常会用到.但是呢我们经常也会遇到这个问题,比如瀑布流不能下拉刷新,或者上拉更多,有的是一个简单的touch事件监听上拉加载更多,但是很显然,这样的功能以及用户体验得不到提 ...

  4. [ASP.NET]web实现用FTP上传、下载文件(附源码)

    文章配套源码下载地址:https://download.csdn.net/download/djk8888/10486581 index.aspx 页: <%@ Page Language=&q ...

  5. jsp+ssm计算机毕业设计亿上汽车在线销售管理系统【附源码】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. 【Android App】给三维的地球仪贴上动物贴纸实战(附源码和演示 超详细必看)

    需要源码和图片集请点赞关注收藏后评论区留言~~~ 一.纹理贴图 给三维物体穿衣服的动作,通常叫做给三维图形贴图,更专业地说叫纹理渲染. 渲染纹理的过程主要由三大项操作组成,分别说明如下: (1)启用纹 ...

  7. springboot入门系列教程|第九篇:springboot实现图片上传与显示(附源码)

    前言## 上一篇我们介绍了springboot如何实现自定义拦截器配合注解使用,那么这篇我们将介绍springboot实现图片上传的功能. 目录## 文章目录 前言## 目录## 项目创建### 项目 ...

  8. SSM+社区线上超市购物系统 毕业设计-附源码211704

    目    录 第1章前言 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发目标 1 第2章技术与原理 3 2.1 SSM框架 3 2.2  JAVA技术 3 2.3  MySQL数据库 3 ...

  9. SSM+社区线上超市购物系统毕业设计-附源码211704

    目    录 第1章前言 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发目标 1 第2章技术与原理 3 2.1 SSM框架 3 2.2  JAVA技术 3 2.3  MySQL数据库 3 ...

最新文章

  1. HDU 2717 Catch That Cow(BFS)
  2. 西裤哥的 Hook Api Lib 0.2 For C
  3. Spark Streaming揭秘 Day13 数据安全容错(Driver篇)
  4. 二维码扫描开源库ZXing定制化【转】
  5. 计算机装配调试员培训内容.doc,电子计算机装配调试员理论培训文档.doc
  6. .desktop 桌面快捷_两个按键:手机截屏且保存至电脑桌面
  7. 3t硬盘 xp_如何在Windows XP SP3 32位系统下识别3T容量GPT格式硬盘
  8. Android PreferenceActivity添加ToolBar
  9. html幻灯片气泡,jQuery炫酷气泡缩略图幻灯片画廊插件
  10. uni-app关于tabBar配置
  11. VBA字典做数据有效性
  12. 微信小程序免费教学视频
  13. 【转】SSD、HDD、NVMe区别
  14. C语言循环之空心梯形,循环-空心梯形
  15. Linux上面开发android手机驱动加载.
  16. uniapp一键翻卡牌 小程序appH5都支持
  17. 【免费分享】4月24日精选行业报告分享-免费行业报告下载(7份)
  18. STM8L 软件I2C读写操作
  19. 平面解析几何----利用圆锥曲线第二定义和角平分线定理证圆锥曲线的光学性质
  20. Excel Application对象应用大全(四)

热门文章

  1. 图元变形lisp源码_AutoLISP入门6---图元资料的取得与活用技巧(一).pdf
  2. 【PAT笔记】C++标准模板库STL(一)——vector的用法和示例
  3. 有了 for (;;) 为什么还需要 while (true) ? 到底哪个更快?
  4. 这周面了阿里,多线程都要问这么难了???
  5. 如何将 Nginx 性能提升10倍?这10个“套路”请收好!
  6. Java 集合系列10: HashMap深入解析(1)
  7. Java设计模式-适配器模式Adapter
  8. JAVAWEB项目--模拟考试系统数据库设计与实现(二)
  9. Spring之Bean的配置(一)
  10. C++Primer Plus (第六版)阅读笔记 + 源码分析【第一章:预备知识】