上代码:

import cv2cap = cv2.VideoCapture('XXX.avi')  #返回一个capture对象
cap.set(cv2.CAP_PROP_POS_FRAMES,50)  #设置要获取的帧号
a,b=cap.read()  #read方法返回一个布尔值和一个视频帧。若帧读取成功,则返回True
cv2.imshow('b', b)
cv2.waitKey(1000)

封装

import cv2def get_video_png(video_path, png_path, zhen_num=1):"""获取视频封面:param video_path: 视频文件路径:param png_path: 截取图片存储路径:param zhen_num: 指定截取视频第几帧:return: """vidcap = cv2.VideoCapture(video_path)# 获取帧数zhen_count = vidcap.get(7)if zhen_num > zhen_count:zhen_num = 1print(f"zhen_count = {zhen_count} | last zhen_num = {zhen_num}")# 指定帧vidcap.set(cv2.CAP_PROP_POS_FRAMES, zhen_num)success, image = vidcap.read()# n = 1# while n < 30:#     success, image = vidcap.read()#     n += 1imag = cv2.imwrite(png_path, image)if __name__ == "__main__":zhen_num = 1video_path = './test.mp4'png_path = f'./test_{zhen_num}.png'get_video_png(video_path, png_path, zhen_num)

其他方法:

cv2.VideoCapture.get(0)  视频文件的当前位置(播放)以毫秒为单位
cv2.VideoCapture.get(1)     基于以0开始的被捕获或解码的帧索引
cv2.VideoCapture.get(2)     视频文件的相对位置(播放):0=电影开始,1=影片的结尾。
cv2.VideoCapture.get(3)     在视频流的帧的宽度
cv2.VideoCapture.get(4)     在视频流的帧的高度
cv2.VideoCapture.get(5)     帧速率
cv2.VideoCapture.get(6)     编解码的4字-字符代码
cv2.VideoCapture.get(7)     视频文件中的帧数

python cv2 截取视频指定帧图片相关推荐

  1. python多进程海量视频提取帧图片

    视频提取帧图片 多个视频同时处理 跳帧保存图片 限制进程数防止系统崩溃 一键设置视频目录自动获取全部视频并提取帧图片. CPU打满,系统不卡顿. 源码 #!/usr/bin/env python # ...

  2. python cv2实现视频抽帧

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.具体实现如下 前言 基于python-opencv 实现对视频的图片抽取 一.具体实现如下 #!/usr/bin/ ...

  3. java截取视频片段_使用javacv 截取视频指定帧节

    个人博客 地址:https://www.wenhaofan.com/article/20190407105818 引入依赖 org.bytedeco javacv 1.4.3 org.bytedeco ...

  4. Python如何截取视频的帧

    文章目录 直接上代码,参考: 链接,可以顺利运行,并把截取的帧保存在指定的文件夹 import cv2 import os # 要提取视频的文件名,隐藏后缀sourceFileName = " ...

  5. js截取视频第一帧图片

    const getVideoBase64 = (url: any) => {//url为视频链接地址return new Promise(function (resolve, reject) { ...

  6. php ffmpeg截图,php ffmpeg截取视频第一帧保存为图片的方法

    php ffmpeg截取视频第一帧保存为图片的方法 $xiangmupath = $this->getxiangmupath(); $filename = 'chengshi'; $cmd = ...

  7. 使用js截取视频指定秒数的图片

    使用js截取视频指定秒数的图片 点击按钮,选择本地视频后,截取指定秒数的图片 运行结果如下图: 直接上代码: 1.html代码 <!DOCTYPE html> <html>&l ...

  8. python 脚本将视频转化成图片 | python scripts to convert video to pictures

    python 脚本将视频转化成图片 | python scripts to convert video to pictures python video_to_images.py 运行时,修改输入.输 ...

  9. 使用Python自动给视频逐帧截图

    背景 数据集采集不单有图片格式,也有视频格式,有时我们需要根据采集来的视频生成图片,再进行标注.所以这里我们使用Python自动给视频逐帧截图. 注意:由于摄像机录制的视频大多是XMF格式,需要使用格 ...

  10. 华为云获取OBS中视频截帧图片

    华为云获取OBS中视频截帧图片 华为云的文档比较少,想要用到阿里云的视频截帧功能,找了半天没找到.最后跟客服沟通后,拿到了这个文档,完美解决(注:获取截帧图片请用视频原始链接不要用cdn的链接) 步骤 ...

最新文章

  1. 艾伟_转载:C#中的委托和事件-抛砖引玉
  2. 数据分析---《Python for Data Analysis》学习笔记【04】
  3. 朴素贝叶斯--实战分析
  4. 容器源码分析之PriorityQueue(十)
  5. Linux 常用命令二 pwd cd
  6. Mybatis Generator 配置详解
  7. javascript框架比较(四)
  8. 第一场“直播相声”来了!罗永浩宣布独家签约抖音:不赚钱,交个朋友
  9. winsock编程宝典
  10. 4.Entity Framework Core 5.0 添加数据
  11. ADAS/AD域控制器及芯片平台分析
  12. 创建AD9361的vivado工程并导入SDK(ZYNQ平台)
  13. 计算机考试outlook怎么发邮件,outlook怎么用,教您outlook使用方法
  14. FastJSON处理对象中属性值为空的数据
  15. 华为服务器虚拟机登录密码,虚拟机登录密码忘记了怎么办
  16. 什么是熵,信息熵以及粗糙熵
  17. SpringCloud服务之间调用,报异常Method has too many Body parameters: public abstract
  18. cf比赛A题总结(输出相同前缀数量的字符串)
  19. 华为音乐APP提示网络忙无法连接
  20. ip和端口号的正则表达式

热门文章

  1. 世界观 - 经验事实和哲学性/概念性事实
  2. 99个互联网常用词汇,建议收藏“食用”
  3. 双硬盘双系统win10+manjaro-kde搭建
  4. axis2 webservice客户端最少jar
  5. Flutter持久化存储之使用和封装shared_preferences
  6. java ruby 比较_java和ruby的一些比较
  7. HDU - 5855 Less Time, More profit 最大权闭合子图 + 二分
  8. LINUX查看IP 网关 DNS
  9. TX2--Tegra架构介绍
  10. 计算机无法识别无线USB网卡,Win10 usb无线网卡无法识别连接如何解决?