目的:

视频 FPS=30,需要把视频裁剪成 FPS=3 的图像集,即两分钟的视频裁剪出360张图像。

FPS:

  • 每秒传输帧数(Frames Per Second)
  • FPS 也可以理解为我们常说的“刷新率(单位为Hz)”,例如我们常在游戏里说的“FPS值”。
  • FPS 是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS 是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的动作就会越流畅。通常,要避免动作不流畅的最低是30。某些计算机视频格式,每秒只能提供15帧。

示例代码(含注释):

import cv2
from tqdm import tqdm  # 进度条def main():# 读取视频文件video_caputre = cv2.VideoCapture(r"G:\CSDN\python\videos2images\videos\IMG_3389.MP4")# 获取视频流的参数fps = video_caputre.get(cv2.CAP_PROP_FPS)  # 帧率width = video_caputre.get(cv2.CAP_PROP_FRAME_WIDTH)  # 宽度height = video_caputre.get(cv2.CAP_PROP_FRAME_HEIGHT)  # 高度all_frames = video_caputre.get(cv2.CAP_PROP_FRAME_COUNT)  # 总帧数print("fps:", fps, "\n", "width:", width, "\n", "height:", height, "\n", "all_frames:", all_frames)# 读取视频流(返回参数:是否读到视频流、图像帧)whether, frame = video_caputre.read()i = 0for _ in tqdm(range(int(all_frames))):# cv2.imshow("image", frame)# cv2.waitKey(0)i += 1# 取余数(每10帧保存一张图像)if i % 10 == 0:cv2.imwrite(r"G:\CSDN\python\videos2images\save_image_3_person\4_{}.png".format(i), frame)# 读取下一帧图像whether, frame = video_caputre.read()# 释放视频流video_caputre.release()print("video to images done!")if __name__ == "__main__":main()

 >>>output

fps: 29.996961074122165
width: 1920.0
height: 1080.0
all_frames: 5429.0
100%|██████████| 5429/5429 [02:27<00:00, 36.79it/s]
video to images done!

   >>>如有疑问,欢迎评论区一起探讨

Opencv 把视频裁剪成指定帧率的图像集相关推荐

  1. 用 Python3 OpenCV 将视频转成字符动画

    在介绍如何用 Python3 & OpenCV 将视频转成字符动画之前,先简单的介绍一下 OpenCV 吧,毕竟可能很多小伙伴不太了解: 百度百科: OpenCV是一个基于BSD许可(开源)发 ...

  2. c++ opencv 将视频转化成字符串

    直接贴代码,我在这个大佬(https://www.bilibili.com/video/BV1f5411t7oD)的代码基础上进行了修改 这是他的代码:(方便你们更好的理解) #include< ...

  3. python opencv PIL 视频分割成图片 图片合成为视频 修改图片大小(抗锯齿)

    Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv ...

  4. 用OpenCV将视频分解成单帧图片,图片合成视频

    本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多 ...

  5. OpenCV 将视频截成等长的小片段

    最近在手机一些手势的数据,所以需要使用的手机的录像功能来收集手势数据,我们采取的办法是,录一整段视频,其中三秒换一次动作,这样在后期处理的过程中,只需要对一整段视频每三秒截成一小段,这样的话就可以得到 ...

  6. opencv 裁剪 java_如何在opencv java中裁剪检测到的面部图像

    我在 java中使用opencv 2.4.10检测到图像中的面部 我把我的面部检测代码. import org.opencv.core.Core; import org.opencv.core.Mat ...

  7. 怎么把横版视频剪成竖版?两种方法快速搞定!画面满屏,没有黑边

    现在很多手机社交媒体上,都比较流行竖版视频.那么横版视频如何变成竖版?今天教大家两种方法快速搞定!横版改成竖屏,并且做到画面满屏,无黑边.顺便还会分享现在抖音.朋友圈.影视圈最流行的竖版视频排版方式的 ...

  8. android 电视 竖屏 黑边 -平板,怎么把横版视频剪成竖版?两种方法快速搞定!画面满屏,没有黑边2018-11-12...

    现在很多手机社交媒体上,都比较流行竖版视频.那么横版视频如何变成竖版?今天教大家两种方法快速搞定!横版改成竖屏,并且做到画面满屏,无黑边.顺便还会分享现在抖音.朋友圈.影视圈最流行的竖版视频排版方式的 ...

  9. GIF图片裁剪出指定大小的GIF图片

    前言 网购优惠券 www.fenfaw.cn 最近在博客后台上传图片的时候,突然发现上传gif图片的时候裁剪图片有问题.既没法裁剪gif指定区域的图片,又没法裁剪指定区域生成一个新的指定大小的gif图 ...

最新文章

  1. curl模拟多线程抓取网页(优化)
  2. android studio下的NDK开发详解
  3. cjson调用的实例 c++
  4. MySQL数据库:SQL语句
  5. python关键字from,Python 中的 yield from 关键字
  6. HBase API 详细例子(封装的DAO类)
  7. DP_字串匹配(HDU_1501)
  8. linux文件的打包与下载总结,linux下文件的打包和压缩
  9. python 装饰器实现_Python装饰器系列01 - 如何正确地实现装饰器
  10. module ‘tensorflow_core.compat.v1‘ has no attribute ‘contrib‘问题的完美解决
  11. Leetcode--169. 求众数
  12. 求“厉害”数 (10 分)
  13. EXCHANGE 系列
  14. PKI/CA与数字证书
  15. 鲁棒性的获得 —— 测试的架构
  16. axure轮播图怎么设置循环轮播_Axure教程:轮播图制作步骤详解
  17. 海康摄像头监控预览二开,萤石云对接说明
  18. mp3中不可缺少的音乐
  19. ORA-01438: value larger than specified precision allowed for this column
  20. mysql msvcp140.dll修复_丢失msvcp140.dll怎么办

热门文章

  1. 关于DataGrid的一点基础东西
  2. 【逗老师的小技巧】树莓派4翻转屏幕,加载OpenGL驱动
  3. android主线程ActivityThread
  4. MongoDB股价暴涨,成唯一市值超300亿美元的上市开源公司
  5. Unicode编码的秘密
  6. SSH2中的No result defined for action的问题
  7. APISpace 二次号查询API
  8. [软件下载] Adobe Dreamweaver 2019
  9. Anaconda详细安装教程(从头到尾一条龙服务,无需彷徨,图文详解!具详细!)
  10. windows分区给linux根目录,装了双系统,为何在linux中看不到我windows中文件分区里的东东啊??!...