python实现批量视频分帧、保存视频帧

 更新时间:2019年05月31日 10:09:19   作者:Jaster_wisdom  
这篇文章主要为大家详细介绍了python实现批量视频分帧、保存视频帧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本篇博客介绍利用python脚本实现视频分帧,并将每一帧保存到本地。主要基于opencv包来实现,在运行代码前确保opencv包已正确安装。下面是主要代码:

import os 
import cv2
 
videos_src_path = '/home/shao/violence_detection_code/Movies_Dataset/fights'
videos_save_path = '/home/shao/violence_detection_code/Movies_Dataset/fights_pic'
 
videos = os.listdir(videos_src_path)
videos.sort(key=lambda x:int(x[5:-4]))
 
i = 1
 
for each_video in videos:
 if not os.path.exists(videos_save_path + '/' + str(i)):
 os.mkdir(videos_save_path + '/' + str(i))
 each_video_save_full_path = os.path.join(videos_save_path,str(i))+'/'
 each_video_full_path = os.path.join(videos_src_path,each_video)
 cap = cv2.VideoCapture(each_video_full_path)
 frame_count = 1
 success = True
 
 while(success):
 success,frame = cap.read()
 if success==True:
 cv2.imwrite(each_video_save_full_path + "frame%d.jpg" % frame_count,
 frame)
 frame_count = frame_count + 1
 i = i + 1
 
 cap.release()

代码注释:

1.第1,2行完成导入几个需要的包;

2.第4,5行分别是待分帧的原始视频路径、分帧后需要保存视频帧的文件路径;这里需要注意的是,我写的是文件夹,也就是说在/home/shao/violence_detection_code/Movies_Dataset/fights目录下有多个视频XXX.avi,XXX.avi等形式;如果只需要处理单个视频的话,可以稍微改一下即可。

3.第7行表示将所有视频的文件名存到videos中,第8行是可选项,表示对fights文件夹下的视频进行排序,x[5:-4]表示按照文件名第5个字符到倒数第4个字符之间的符号排序,因为我的视频是newfi1.avi,newfi2.avi……的格式,我想实现的是按照数字1,2,3的顺序提取视频帧;

4.之后的代码就是循环处理每个视频,将每个视频的视频帧保存到文件夹中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 利用selenium爬虫抓取数据的基础教程

    利用selenium爬虫抓取数据的基础教程

    这篇文章主要给大家介绍了关于如何利用selenium爬虫抓取数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用selenium具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    这篇文章主要介绍了Scrapy基于scrapy_redis实现分布式爬虫部署的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 浅谈pandas中对nan空值的判断和陷阱

    浅谈pandas中对nan空值的判断和陷阱

    这篇文章主要介绍了浅谈pandas中对nan空值的判断和陷阱,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python 第三方库 openpyxl 的安装过程

    Python 第三方库 openpyxl 的安装过程

    这篇文章主要介绍了Python 高效办公第三方库 openpyxl 的安装,本文介绍了什么是库及库的分类,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 解决python3中的requests解析中文页面出现乱码问题

    解决python3中的requests解析中文页面出现乱码问题

    requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。这篇文章给大家介绍了解决python3中的requests解析中文页面出现乱码问题,感兴趣的朋友一起看看吧
    2019-04-04
  • Pycharm远程连接服务器并运行与调试

    Pycharm远程连接服务器并运行与调试

    本篇文章介绍一下 Pycharm 如何配置远程连接信息,使其能够在本地使用服务器上的GPU等硬件资源,并在本地完成代码的运行与调试,感兴趣的可以了解一下
    2021-08-08
  • Python利用openpyxl库遍历Sheet的实例

    Python利用openpyxl库遍历Sheet的实例

    今天小编就为大家带来一篇Python利用openpyxl库遍历Sheet的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 利用机器学习预测房价

    利用机器学习预测房价

    这篇文章主要介绍了利用机器学习回归模型预测房价,解释清晰,代码详细,是很不错的机器学习实战演练,对机器学习感兴趣的朋友可以参考一下
    2021-04-04
  • python调用stitcher类自动实现多个图像拼接融合功能

    python调用stitcher类自动实现多个图像拼接融合功能

    这篇文章主要介绍了python调用stitcher类自动实现多个图像拼接融合功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python实现将长图制作成一个视频

    Python实现将长图制作成一个视频

    这篇文章主要为大家详细介绍了Python如何实现将一个长图制作成一个视频,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05

最新评论