如何用python实现视频关键帧提取并保存为图片?

 我来答
simonncc
高粉答主

推荐于2019-08-16 · 关注我不会让你失望
知道大有可为答主
回答量:776
采纳率:100%
帮助的人:16.3万
展开全部

import cv2

vc = cv2.VideoCapture('Test.avi') #读入视频文件
c=1

if vc.isOpened(): #判断是否正常打开
rval , frame = vc.read()
else:
rval = False

timeF = 1000  #视频帧计数间隔频率

while rval:   #循环读取视频帧
rval, frame = vc.read()
if(c%timeF == 0): #每隔timeF帧进行存储操作
cv2.imwrite('image/'+str(c) + '.jpg',frame) #存储为图像
c = c + 1
cv2.waitKey(1)
vc.release()

拓展:

1、Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

2、常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

沉思狠美
2017-12-30 · TA获得超过1万个赞
知道小有建树答主
回答量:143
采纳率:96%
帮助的人:60.5万
展开全部

参考代码如下:

import cv2

vc = cv2.VideoCapture('Test.avi') #读入视频文件
c=1

if vc.isOpened(): #判断是否正常打开
rval , frame = vc.read()
else:
rval = False

timeF = 1000  #视频帧计数间隔频率

while rval:   #循环读取视频帧
rval, frame = vc.read()
if(c%timeF == 0): #每隔timeF帧进行存储操作
cv2.imwrite('image/'+str(c) + '.jpg',frame) #存储为图像
c = c + 1
cv2.waitKey(1)
vc.release()

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式