import time
import turtle
import cv2
from PIL import Image, ImageTk
class Clock:
"""控制fps的时钟Clock类"""
def __init__(self):
self._old_start_time = time.perf_counter()
self._start_time = time.perf_counter()
def tick(self,fps=0):
"""返回每帧逝去的时间,如果fps不为0,则会等待直到时间大于1/fps"""
end_time = time.perf_counter()
elapsed_time = end_time - self._start_time
if fps!=0:
step = 1/fps
if elapsed_time < step: # 如果逝去的时间小于step则等待
time.sleep(step - elapsed_time)
self._old_start_time = self._start_time
self._start_time = time.perf_counter()
return time.perf_counter() - self._old_start_time
def getfps(self):
"""得到fps"""
t = time.perf_counter() - self._old_start_time
return round(1/t,2)
screen = turtle.getscreen()
screen.title('李兴球Python博客www.lixingqiu.com')
screen.setup(800,600)
cap = cv2.VideoCapture("汉服展.mp4")
canvas = screen.cv
fps = int(round(cap.get(cv2.CAP_PROP_FPS)))
frame_counter = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print('帧率=',fps)
print('帧数=',frame_counter)
clock = Clock()
while True:
ret, frame = cap.read()
if not ret:
break
# Convert the frame to a Tkinter-compatible image
img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
img = cv2.resize(img, (640, 480))
img = Image.fromarray(img)
img = ImageTk.PhotoImage(image=img)
# Update the canvas with the new image
canvas.create_image(-320, -240, anchor=turtle.TK.NW, image=img)
screen.update()
clock.tick(fps)
cap.release()
cv2.destroyAllWindows()
screen._root.destroy()
没有合适的资源?快使用搜索试试~ 我知道了~
用turtle和open-cv开发的视频播放器,带有测试视频
共2个文件
py:1个
mp4:1个
需积分: 5 0 下载量 132 浏览量
2023-11-25
18:00:57
上传
评论
收藏 54.14MB RAR 举报
温馨提示
这是一个用Python的turtle模块和open-cv模块开发的简单的视频播放器,在这个程序中定义了一个叫Clock的类.它来自于李兴球开发的Python精灵模块.用于控制每帧播放的时间,即FPS. 在程序中,新建了一个叫screen的窗口,每一帧图像就在这个窗口中播放.需要注意的时还需要安装pillow模块. 主要代码如下所示: screen = turtle.getscreen() screen.title('李兴球Python博客www.lixingqiu.com') screen.setup(800,600) cap = cv2.VideoCapture("汉服展.mp4") canvas = screen.cv fps = int(round(cap.get(cv2.CAP_PROP_FPS))) frame_counter = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) print('帧率=',fps) print('帧数=',frame_counter) clock = Clock() while True: ....
资源推荐
资源详情
资源评论
收起资源包目录
turtle和opencv播放视频.rar (2个子文件)
汉服展.mp4 54.27MB
turtle和opencv播放视频.py 2KB
共 2 条
- 1
资源评论
李兴球
- 粉丝: 303
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java 代码覆盖率库.zip
- Java 代码和算法的存储库 也为该存储库加注星标 .zip
- 免安装Windows10/Windows11系统截图工具,无需安装第三方截图工具 双击直接使用截图即可 是一款免费可靠的截图小工具哦~
- Libero Soc v11.9的安装以及证书的获取(2021新版).zip
- BouncyCastle.Cryptography.dll
- 5.1 孤立奇点(JD).ppt
- 基于51单片机的智能交通灯控制系统的设计与实现源码+报告(高分项目)
- 什么是 SQL 注入.docx
- Windows 11上启用与禁用网络发现功能的操作指南
- Java Redis 客户端 GUI 工具.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功