cv2读视频文件取帧图片
希望通过cv2.VideoCapture类截取视频帧图片,期间只能截取视频的每帧图片,不能跳帧截取图片,原来是在读取视频帧的时候没有写入ret, frame = cv2.VideoCapture.read()。
ret, frame = cv2.VideoCapture.read()函数输出的是两个参数,第一个参数ret 为True 或者False,代表有没有读取到图片;第二个参数frame表示截取到一帧的图片。
修改前代码(只能逐帧逐帧截取视频帧图片):
import cv2
import os
def save_img():
video_path = r'你的视频绝对路径'
videos = os.listdir(video_path)
for video_name in videos:
file_name = video_name.split('.')[0]
folder_name = file_name
os.makedirs(folder_name,exist_ok=True)
vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
c = 1
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 300 # 视频帧计数间隔频率
while rval: # 循环读取视频帧
pic_path = folder_name + '/'
if (c % timeF == 0): # 每隔timeF帧进行存储操作
cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame)#存储图像
c = c + 1
cv2.waitKey(1)
vc.release()
save_img()
修改后代码(能够跳帧截取视频帧):
import cv2
import os
def save_img():
video_path = r'D:\python3-PycharmProjects1\video2picture\20180911-12-48-31\data\123/'
videos = os.listdir(video_path)
for video_name in videos:
file_name = video_name.split('.')[0]
folder_name = file_name
os.makedirs(folder_name,exist_ok=True)
vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
c = 1
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 300 # 视频帧计数间隔频率
while rval: # 循环读取视频帧
rval, frame = vc.read()
pic_path = folder_name + '/'
if (c % timeF == 0): # 每隔timeF帧进行存储操作
cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame) # 存储为图像,保存名为 文件夹名_数字(第几个文件).jpg
c = c + 1
cv2.waitKey(1)
vc.release()
save_img()
cv2读视频文件取帧图片相关推荐
- 查看视频的IPB帧,IPB帧编码顺序,视频的第一帧图片
> 如何查看视频的IPB帧 Android, 如何获取视频的每一帧的信息 视频 = 图片.图像(摄像头) + 声音(麦克风) : 谷歌官方给我们的提供的api接口类:MediaMetadataR ...
- 如何获取网络视频(或者说后台返回视频URL)第一帧图片以及获取本地视频的第一帧图片
在项目开发的时候,有可能会有这样的一种需求:有一段视频需要展示给用户,在界面上先展示视频上的某一帧图片,用户点击的时候再去获取视频资源进行播放.这时,服务器会先给我们返回视频的url,这个时候就需要通 ...
- C++_MFC读视频文件
下面这段代码的是:打开视频,弹出通用对话框,选择要播放的视频文件 CString filter;filter = "所有文件(*.avi,*.3gp,*.mp4,*.rm,*rmvb,*fl ...
- php截取视频第一帧为图片,把视频变成一帧一帧的图片(ae怎么把视频变成单帧) 视频截图视频画面每帧图片截取...
AE怎么把视频变成单帧?这是小编今天要与大家讨论及解决的一个问题.在视频后期处理中,有时为实现某个场景效果,需要把视频中的某帧变成静态帧图片:或者需要视频截图视频画面每帧图片截取出来,把视频变成一帧一 ...
- 使用ffmpeg处理 视频文件中帧间时间戳异常、关键帧间隔异常
2019独角兽企业重金招聘Python工程师标准>>> [原因分析] V网通的视频文件经过了编辑工具编辑 1.视频文件中帧间时间戳异常(理论两帧差在40毫秒左右,V网通的有11777 ...
- 视频文件按帧抓取图像并保存
一.原材料: win10,opencv3.0,vs2013,test.MP4.只需要配置好opencv的环境就好,3.0可以直接用MP4类型的视频数据. 二.实现功能: 1.显示视频的具体信息,帧数, ...
- php视频生成指定帧图片,python3.5 cv2 获取视频特定帧生成jpg图片
假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求.结合自己的工作,做一下简单的记录,原本想生成可传参数的exe文件,以方 ...
- python(二)进阶之cv2读取视频文件或摄像头,并进行保存帧图像或视频
版本 # 4.5.1 python import cv2 cv2.__version__ 函数 # 参数0表示默认为笔记本的内置第一个摄像头,如果需要读取已有的视频则参数改为视频所在路径, # 例如: ...
- python读视频文件_python读取和保存视频文件
如何用python实现视频关键帧提取并保存为图片?也许你会觉得对小编多做一点事你会觉得你很爽,可是在小编看来这是不屑的 import cv2vc = cv2.VideoCapture('Test.av ...
最新文章
- sqlserver怎么将excel表的数据导入到数据库中
- php写接口多页面,PHP开发很火的随机毒鸡汤网页和API接口
- 傅里叶变换库FFTW的安装配置(VS2010)
- 王者荣耀服务器维护bug,8月23日王者荣耀ios版更新一直显示维护是什么情况?更新出现bug 附处理方法...
- Vue封装预约日期插件和发布到npm上
- twisted mysql_在Twisted下用MySQLadbapi获取自增id
- java页面要素_Web前端入门技术之网页制作三要素
- BZOJ 4992: [Usaco2017 Feb]Why Did the Cow Cross the Road
- asp.net中异步调用WebService(异步页)[转]
- preg_match 参数获取两个_「死磕 Spring」—– IOC 之 获取 Document 对象
- java文件中获取创建日期_如何在Java中获取文件的上次修改日期
- Best of Best系列(1)——CVPR
- 小程序源码:酒桌扑克娱乐喝酒小游戏-多玩法安装简单
- matlab互相关函数并画图,自相关函数和互相关函数的matlab计算和作图
- 文件或目录损坏,详细教您文件或目录损坏且无法读取怎么办
- PHICOMM路由器无线扩展的设置方法(吐槽一下)
- 华文行楷字帖欣赏_毛笔行书欣赏,华文行楷在线转换,偏旁部首练字帖,
- 微信小程序怎么开通(自己申请开通微信小程序的方法)
- 科学计算基础软件包Numpy学习 02
- 与迭代次数有关的一种差值结构