使用Python实现跳帧截取视频帧

yipeiwu_com6年前Python基础

本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下

可以自由设定时长来截取视频,经实测效果理想。期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取的图片文件,后改为在C:盘上保存,正常。具体原因不明,有网友知道原因所在,请告知。

import cv2
import os

def save_img():
 video_path =r'读入视频路径'
 videos = os.listdir(video_path)
 for video_name in videos:
   videopath=video_path+'\\'+video_name
   print(videopath)
   vc = cv2.VideoCapture(videopath) #读入视频文件  
   c = 1
   if vc.isOpened(): # 判断是否正常打开
   rval, frame = vc.read()
   else:
   rval = False 
   timeF = 300 # 视频帧计数间隔频率
   a=1
   while rval: # 循环读取视频帧
   rval, frame = vc.read()
   if (c % timeF == 0): # 每隔timeF帧进行存储操作
    print(video_path+'\\' + str(a) + '.jpg')
    #不能在D:盘原视频目录上保存图像文件,原因不明
    cv2.imwrite(r'保存图片文件路径 '+'\\'+ str(a) + '.jpg', frame)
    cv2.imshow('Video',frame)
    a+=1
   c = c + 1
   m=cv2.waitKey(1)
   vc.release()
save_img()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyQt5每天必学之滑块控件QSlider

PyQt5每天必学之滑块控件QSlider

QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。 在我们的例子中,我们将创建一个滑块和一个标签。标签显示图像。滑块将控制标签显示的图像。 #...

Python3内置模块之json编解码方法小结【推荐】

Python3中我们利用内置模块 json 解码和编码 JSON对象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(废弃了RFC 4627)...

python 发送和接收ActiveMQ消息的实例

ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用...

Python中的字符串操作和编码Unicode详解

本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧。 字符串类型 str:Unicode字符串。采...

Python Socket传输文件示例

发送端可以不停的发送新文件,接收端可以不停的接收新文件。 例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_visio.rar,支持多并发,具体实现如下; 接...