Tkinter Learning:tkinter上实现视频流的播放(附源码)
参考博客: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上实现视频流的播放(附源码)相关推荐
- Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW)
Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- JAVA文件上传详解(附源码)
文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...
- Android下拉刷新上拉更多瀑布流(附源码)
关于瀑布流,我相信有很多朋友经常会用到.但是呢我们经常也会遇到这个问题,比如瀑布流不能下拉刷新,或者上拉更多,有的是一个简单的touch事件监听上拉加载更多,但是很显然,这样的功能以及用户体验得不到提 ...
- [ASP.NET]web实现用FTP上传、下载文件(附源码)
文章配套源码下载地址:https://download.csdn.net/download/djk8888/10486581 index.aspx 页: <%@ Page Language=&q ...
- jsp+ssm计算机毕业设计亿上汽车在线销售管理系统【附源码】
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 【Android App】给三维的地球仪贴上动物贴纸实战(附源码和演示 超详细必看)
需要源码和图片集请点赞关注收藏后评论区留言~~~ 一.纹理贴图 给三维物体穿衣服的动作,通常叫做给三维图形贴图,更专业地说叫纹理渲染. 渲染纹理的过程主要由三大项操作组成,分别说明如下: (1)启用纹 ...
- springboot入门系列教程|第九篇:springboot实现图片上传与显示(附源码)
前言## 上一篇我们介绍了springboot如何实现自定义拦截器配合注解使用,那么这篇我们将介绍springboot实现图片上传的功能. 目录## 文章目录 前言## 目录## 项目创建### 项目 ...
- 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 ...
- 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 ...
最新文章
- HDU 2717 Catch That Cow(BFS)
- 西裤哥的 Hook Api Lib 0.2 For C
- Spark Streaming揭秘 Day13 数据安全容错(Driver篇)
- 二维码扫描开源库ZXing定制化【转】
- 计算机装配调试员培训内容.doc,电子计算机装配调试员理论培训文档.doc
- .desktop 桌面快捷_两个按键:手机截屏且保存至电脑桌面
- 3t硬盘 xp_如何在Windows XP SP3 32位系统下识别3T容量GPT格式硬盘
- Android PreferenceActivity添加ToolBar
- html幻灯片气泡,jQuery炫酷气泡缩略图幻灯片画廊插件
- uni-app关于tabBar配置
- VBA字典做数据有效性
- 微信小程序免费教学视频
- 【转】SSD、HDD、NVMe区别
- C语言循环之空心梯形,循环-空心梯形
- Linux上面开发android手机驱动加载.
- uniapp一键翻卡牌 小程序appH5都支持
- 【免费分享】4月24日精选行业报告分享-免费行业报告下载(7份)
- STM8L 软件I2C读写操作
- 平面解析几何----利用圆锥曲线第二定义和角平分线定理证圆锥曲线的光学性质
- Excel Application对象应用大全(四)
热门文章
- 图元变形lisp源码_AutoLISP入门6---图元资料的取得与活用技巧(一).pdf
- 【PAT笔记】C++标准模板库STL(一)——vector的用法和示例
- 有了 for (;;) 为什么还需要 while (true) ? 到底哪个更快?
- 这周面了阿里,多线程都要问这么难了???
- 如何将 Nginx 性能提升10倍?这10个“套路”请收好!
- Java 集合系列10: HashMap深入解析(1)
- Java设计模式-适配器模式Adapter
- JAVAWEB项目--模拟考试系统数据库设计与实现(二)
- Spring之Bean的配置(一)
- C++Primer Plus (第六版)阅读笔记 + 源码分析【第一章:预备知识】