python cv2 截取视频指定帧图片
上代码:
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 截取视频指定帧图片相关推荐
- python多进程海量视频提取帧图片
视频提取帧图片 多个视频同时处理 跳帧保存图片 限制进程数防止系统崩溃 一键设置视频目录自动获取全部视频并提取帧图片. CPU打满,系统不卡顿. 源码 #!/usr/bin/env python # ...
- python cv2实现视频抽帧
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.具体实现如下 前言 基于python-opencv 实现对视频的图片抽取 一.具体实现如下 #!/usr/bin/ ...
- java截取视频片段_使用javacv 截取视频指定帧节
个人博客 地址:https://www.wenhaofan.com/article/20190407105818 引入依赖 org.bytedeco javacv 1.4.3 org.bytedeco ...
- Python如何截取视频的帧
文章目录 直接上代码,参考: 链接,可以顺利运行,并把截取的帧保存在指定的文件夹 import cv2 import os # 要提取视频的文件名,隐藏后缀sourceFileName = " ...
- js截取视频第一帧图片
const getVideoBase64 = (url: any) => {//url为视频链接地址return new Promise(function (resolve, reject) { ...
- php ffmpeg截图,php ffmpeg截取视频第一帧保存为图片的方法
php ffmpeg截取视频第一帧保存为图片的方法 $xiangmupath = $this->getxiangmupath(); $filename = 'chengshi'; $cmd = ...
- 使用js截取视频指定秒数的图片
使用js截取视频指定秒数的图片 点击按钮,选择本地视频后,截取指定秒数的图片 运行结果如下图: 直接上代码: 1.html代码 <!DOCTYPE html> <html>&l ...
- python 脚本将视频转化成图片 | python scripts to convert video to pictures
python 脚本将视频转化成图片 | python scripts to convert video to pictures python video_to_images.py 运行时,修改输入.输 ...
- 使用Python自动给视频逐帧截图
背景 数据集采集不单有图片格式,也有视频格式,有时我们需要根据采集来的视频生成图片,再进行标注.所以这里我们使用Python自动给视频逐帧截图. 注意:由于摄像机录制的视频大多是XMF格式,需要使用格 ...
- 华为云获取OBS中视频截帧图片
华为云获取OBS中视频截帧图片 华为云的文档比较少,想要用到阿里云的视频截帧功能,找了半天没找到.最后跟客服沟通后,拿到了这个文档,完美解决(注:获取截帧图片请用视频原始链接不要用cdn的链接) 步骤 ...
最新文章
- 艾伟_转载:C#中的委托和事件-抛砖引玉
- 数据分析---《Python for Data Analysis》学习笔记【04】
- 朴素贝叶斯--实战分析
- 容器源码分析之PriorityQueue(十)
- Linux 常用命令二 pwd cd
- Mybatis Generator 配置详解
- javascript框架比较(四)
- 第一场“直播相声”来了!罗永浩宣布独家签约抖音:不赚钱,交个朋友
- winsock编程宝典
- 4.Entity Framework Core 5.0 添加数据
- ADAS/AD域控制器及芯片平台分析
- 创建AD9361的vivado工程并导入SDK(ZYNQ平台)
- 计算机考试outlook怎么发邮件,outlook怎么用,教您outlook使用方法
- FastJSON处理对象中属性值为空的数据
- 华为服务器虚拟机登录密码,虚拟机登录密码忘记了怎么办
- 什么是熵,信息熵以及粗糙熵
- SpringCloud服务之间调用,报异常Method has too many Body parameters: public abstract
- cf比赛A题总结(输出相同前缀数量的字符串)
- 华为音乐APP提示网络忙无法连接
- ip和端口号的正则表达式
热门文章
- 世界观 - 经验事实和哲学性/概念性事实
- 99个互联网常用词汇,建议收藏“食用”
- 双硬盘双系统win10+manjaro-kde搭建
- axis2 webservice客户端最少jar
- Flutter持久化存储之使用和封装shared_preferences
- java ruby 比较_java和ruby的一些比较
- HDU - 5855 Less Time, More profit 最大权闭合子图 + 二分
- LINUX查看IP 网关 DNS
- TX2--Tegra架构介绍
- 计算机无法识别无线USB网卡,Win10 usb无线网卡无法识别连接如何解决?