获取视频帧数和总帧数代码

import cv2
videoPath=input("请输入视屏文件的绝对路径:")
# 将视频文件路径转化为标准的路径
videoPath=videoPath.replace("\\","/").replace('"','').replace("'","").strip()
# 视屏获取
videoCapture=cv2.VideoCapture(videoPath)
# 帧率(frames per second)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
# 总帧数(frames)
frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
print("帧数:"+str(fps))
print("总帧数:"+str(frames))
print("视屏总时长:"+"{0:.2f}".format(frames/fps)+"秒")

其他
在三维重构或其他项目中,往往需要获取每一张图片的时间戳,这时可以使用如下代码:

import time
print("{:.6f}".format(time.time()))

1
2
demo:

04-应用

import os
import cv2
import timevideoPath=input("请输入视屏文件的绝对路径:")
# 将视频文件路径转化为标准的路径
videoPath=videoPath.replace("\\","/").replace('"','').replace("'","")
# 视屏获取
videoCapture=cv2.VideoCapture(videoPath)
# 帧率(frames per second)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
# 总帧数(frames)
frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)#图片存储地址:
pathSave="./data/rgb/"
if(os.path.exists(pathSave)!=True):os.makedirs(pathSave)#间隔多少帧取一张图片
skipNum=2  #注:间隔2帧取一个图;
count=0
f=open("./data/"+"rgb.txt","w",encoding="utf-8")
f.write("# timestamp filename\n")
while (True):ret,frame=videoCapture.read()if(ret):if(count%(skipNum+1)==0):imgName="{:.6f}".format(time.time()+1.0*skipNum/fps-0.001*skipNum)imgPath=" rgb/"+imgName+ '.png'cv2.imwrite(pathSave + imgName + '.png', frame) f.write(imgName+imgPath+"\n")count+=1
#         cv2.waitKey(int(1.0*skipNum/fps*1000))cv2.waitKey(1)
#         time.sleep()else:print("视屏处理完毕!")break
videoCapture.release()
f.close()

获取视频帧数和总帧数相关推荐

  1. poi 读取 excel 总行数 ,总列数 注意事项 lastRowNum 、lastCellNum

    poi 读取 excel 总行数 ,总列数 注意事项 lastRowNum .lastCellNum 一.概述 1.如下图,有一个 4行 3列的excel 表格数据,用 poi 读取后,分别获取 最大 ...

  2. 根据用户输入的总行数(奇数),打印出菱形(总行数与总列数相等)。

    [题目描述] 根据用户输入的总行数(奇数),打印出菱形(总行数与总列数相等). [输入] 一个整数n. [输出] 指定格式的菱形. [样例输入] 11↙ [样例输出] * *** ***** **** ...

  3. WORD设置从开始页数算总页数

    一.设置总页数 右击总页数选择编辑域 点击域代码 复制代码 选中页码ctrl+f9 中括号内输入等于: 选中页码ctrl+f9在里面的中括号输入刚才复制的域码值NUMPAGES,后边输入减1: 右键选 ...

  4. java如何截取视频文件_Java获取视频时长及截取帧截图详解

    前言 只是最近碰到有这方面的项目需求,所以简单 Mark 下本文.下面的示例是参考过他人分享的文章,之后本人再自行实践.调整和测试过的,希望对有这方面需求的人有所帮助. 示例 添加依赖 org.byt ...

  5. Uibot-Excel自动获取某个工作表的总行数、总列数,读取其全部内容

    背景: Uibot自带的Excel读取区域,需要自己手动设置读取区域的范围,如果excel文件区域的范围发生了变化,就又需要手动修改,挺麻烦的.Uibot的资料不多,搜了很久没能解决问题,所以,无奈之 ...

  6. 如何计算摄影参数:分区基准面高程、相对航高、绝对航高、基线长度、航线间隔、航线数、每条航线的相片数、总相片数。

    目录 01 什么是分区基准面高程? 1.1 那么什么是分区基准面高程呢? 1.2 为什么分区就能减小起伏? 02 什么是相对航高? 03 什么是绝对航高? 04 什么是基线长度(即摄影基线)? 05 ...

  7. 【js基础】js获取时间戳(Date的总毫秒数)的4种方法

    1. 什么是时间戳 不是当前时间的毫秒数,而是距离1970年1月1日过了多少毫秒数. 2. 实现方法 2.1 valueOf() 代码: var date = new Date(); console. ...

  8. Python获取视屏的帧率和总帧数

    Python获取视屏的帧率和总帧数 在机器学习或三维重建等项目中,需要对视频文件进行切片,转化为一张张图片,这时就需要用到Python第三方库cv2 01-cv2安装 在命令行中执行如下代码: pip ...

  9. layui分页组件layPage动态调整总页数

    我的小工程的前端使用了layui,这也是当时临时上网查到的一个框架,感觉风格简约,而且据称对后端开发人员很友好. 在使用layui的过程中,我遇到了一些问题,在这里将几个个人感觉比较棘手的问题列举一下 ...

最新文章

  1. eclipse下编译hadoop源代码(转)
  2. android sliding tab,android – 刷新SlidingTabLayout
  3. 计算机本科重邮调剂重庆其他二本,重庆多少分能上二本大学,重庆二本大学最低分数线...
  4. bat产品经理能力模型_产品经理如何构建自己的产品能力模型?
  5. Zabbix Maintenance 维护周期
  6. leetcode261. 以图判树
  7. Entity Framework之IQueryable和list本地集合
  8. 逆向分析 工具、加壳、安全防护篇
  9. 耗时一年整理:Netty 终极权威指南 + 项目
  10. QT5/C++项目:基于QT的跨平台网络对战象棋(二)(推荐★★★★)
  11. RabbitMQ 使用的AMQP模型解析
  12. keil 中 warning: #1-D: last line of file ends without a newline的解决办法
  13. r语言dmy()函数转化出现na_R语言入门系列之二
  14. 计算机wps是什么意思啊,路由器WPS是什么意思?
  15. java I/O流
  16. 嵌入式应用开发在线图书网址
  17. 专题一:Labview表格控件 及 应用(一)
  18. 吹牛前请看这篇:“智能”物流 VS “智慧”物流
  19. 离线地图开发下实现GPS定位,坐标纠偏回放,偏离路线
  20. (3)复式记账-借贷法

热门文章

  1. 适合老师教练使用的OJ
  2. linux中对文件进行归档,linux归档压缩命令 linux中对文件进行归档的命令为
  3. java 类注释模板下载_[JAVA] IDEA注释模板
  4. nmcli 命令配置网络
  5. 使用SpringBoot实现无限级评论回复功能
  6. 用原生js完成鼠标点击显示滑入滑出效果
  7. 2021年深圳福田英才荟高新企业人才奖励及申报条件,补贴30万
  8. 我国上网计算机及用户数量,CNNIC第14次互联网统计报告:上网计算机数
  9. 运营日记:把握住APP核心价值
  10. GSMA:2026年欧洲联网能源市场将达到260亿美元