帧率(FPS):每秒钟播放的帧数

1、如果你想直接通过帧数间隔截取视频帧,那直接使用可以使用下面的代码:

import cv2cap = cv2.VideoCapture("./query_video/test_video_0.mp4")
c = 1
frameRate = 100  # 帧数截取间隔(每隔100帧截取一帧)while(True):ret, frame = cap.read()if ret:if(c % frameRate == 0):print("开始截取视频第:" + str(c) + " 帧")# 这里就可以做一些操作了:显示截取的帧图片、保存截取帧到本地cv2.imwrite("./capture_image/" + str(c) + '.jpg', frame)  # 这里是将截取的图像保存在本地c += 1cv2.waitKey(0)else:print("所有帧都已经保存完成")break
cap.release()

2、如果你想通过时间间隔截取视频帧,可以做一个时间到帧数的变换:

假如你想每隔10秒截取一帧,那么就相当于你要每隔( FPS * 10 )帧截取一帧图像!

因此,首先你需要知道你的视频的帧率(FPS)是多少:通过 openCV 获取一下即可:

cap = cv2.VideoCapture("./query_video/test_video_0.mp4")
FPS = cap.get(5)  # 这个是获取视频帧率

最后将两段代码结合起来就可以根据时间间隔来截取视频帧了:

import cv2
cap = cv2.VideoCapture("./query_video/test_video_0.mp4")
c = 1
timeRate = 10  # 截取视频帧的时间间隔(这里是每隔10秒截取一帧)while(True):ret, frame = cap.read()FPS = cap.get(5)if ret:frameRate = int(FPS) * timeRate  # 因为cap.get(5)获取的帧数不是整数,所以需要取整一下(向下取整用int,四舍五入用round,向上取整需要用math模块的ceil()方法)if(c % frameRate == 0):print("开始截取视频第:" + str(c) + " 帧")# 这里就可以做一些操作了:显示截取的帧图片、保存截取帧到本地cv2.imwrite("./capture_image/" + str(c) + '.jpg', frame)  # 这里是将截取的图像保存在本地c += 1cv2.waitKey(0)else:print("所有帧都已经保存完成")break
cap.release()

python OpenCV 按(帧数/时间)间隔截取视频帧相关推荐

  1. python按时间截取视频,python使用opencv按一定间隔截取视频帧

    python如何用opencv把一个视频按每10秒一小段切下来一个人的记忆就是一座城市,时间腐蚀着一切建筑,把高楼和道路一切沙化.如果你不往前走,就会被沙子掩埋.沙城就是一个人的记忆. 视频共计30秒 ...

  2. 视频抽帧并存图 python_使用Python实现跳帧截取视频帧

    本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下 可以自由设定时长来截取视频,经实测效果理想.期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取 ...

  3. 制作视频数据集(一):截取视频帧

    ** 制作视频数据集(一):截取视频帧 ** 1.smart player截取视频帧 直接下载smart player截取即可,我是觉得这个软件截取更简单一些,但我下载之后截取页面显示不了文件,搞不了 ...

  4. python opencv按照一定间隔保存视频帧

    python opencv按照一定间隔保存视频帧 文章目录: 一.获取视频流的相关参数 二.设置间隔保存视频帧 想实现opencv读取视频帧,按照一定的时间间隔然后保存图片下来,因为所有的帧都保存下来 ...

  5. python快速检测视频跳过帧_使用Python实现跳帧截取视频帧

    本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下 可以自由设定时长来截取视频,经实测效果理想.期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取 ...

  6. python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)

    一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'D:\\test\\' ...

  7. 【OpenCV】获得视频的帧数、FPS以及按帧数将图片保存到本地

    文章目录 视频操作 获得视频的帧数 获得视频的FPS 按帧数将图片保存到本地 视频操作 获得视频的帧数 import os import cv2video_cap = cv2.VideoCapture ...

  8. Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...

  9. 【Python-opencv3.4】视频基本操作(帧率,总视频帧数、从第N帧开始播放、播放进度显示、按键控制视频)

    一.视频基本操作: 1.读取视频帧率.分辨率.读取视频总帧数.起始播放帧数 2.使用键盘控制视频 3.显示视频播放进度 二.基本操作对应代码 [完整代码]提取码:0vvb 1.读取视频帧率.分辨率.读 ...

最新文章

  1. 服务器对搜索引擎有哪些影响,实录:网站换服务器后对搜索引擎的影响
  2. 计算机组成原理_在线作业_2,计算机组成原理_在线作业_2讲述.docx
  3. 创新创业计划书_创践——大学生创新创业实务 ——如何撰写一份优秀的商业计划书...
  4. Feign-2覆写Feign的默认配置
  5. 赢得黑客马拉松的 9 种方式
  6. eclipse adt开发android ndk没有NDK选项问题的解决方案
  7. elk服务重启_ELK开机启动 service文件内容
  8. 把矩阵变为0,1矩阵
  9. ai画面怎么调大小_Adobe Illustrator(Ai)里怎么改变图像大小,快捷键是什么?
  10. 升级sp1后文档无法编辑
  11. css实现单色或图片背景透明,而文字不透明的方法
  12. RFID 中间件规范 -- ALE 介绍
  13. 教你一招轻松压缩MP4视频到最小
  14. cs224n 2019 Lecture 9: Practical Tips for Final Projects
  15. matlab矩阵及其基本运算—特征值分解和奇异值分解
  16. 无法调用自己电脑的gpu,即torch.cuda.is_available()返回false
  17. 【ASML】EUV光刻技术PPT
  18. 游戏3D美术设计师是什么?
  19. 5G时代金融服务如何升级?网易云信助力银行数字化建设
  20. 路由器的WAN口和LAN口、以及路由器和交换机的对比

热门文章

  1. DreamWeaver使用技巧(转)
  2. 认识舵机——无刷舵机、数码舵机与模拟舵机等
  3. Camtasia Studio的下载
  4. 鸡蛋问题的分析与C++实现
  5. Ubuntu子系统VcXsrv黑屏compiz (core)
  6. 秒懂什么是电力现货市场中的不平衡资金
  7. 记录ubuntu启动卡在logo界面有鼠标进不了桌面的经历,以及安装ubuntu踩的坑
  8. 网络请求框架OkHttp4的使用与原理解析01:任务调度与拦截器分析
  9. 自动驾驶方程式赛车,微软发布机器学习开源框架 | AI一周学术
  10. 边锋网络入选2019中国互联网企业100强榜单