python3.5 cv2 获取视频特定帧生成jpg图片


Posted in Python onAugust 28, 2019

假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求。结合自己的工作,做一下简单的记录,原本想生成可传参数的exe文件,以方便同事使用。但 import cv2 用pyinstaller生成exe时就会报错,暂时没有找到解决方案 ,报错如下:

python3.5 cv2 获取视频特定帧生成jpg图片

(如哪位朋友碰到类似问题,并且解决,请给我留言,谢谢大神)

1、安装模块

pip install opencv-python

安装完成后 import cv2 出现异常,ImportError:DLL load fail:找不到指定模块,最后在github上找到解决办法

It works well on windows 7.Thanks! @kenliang18
download api-ms-win-downlevel-shlwapi-l1-1-0.dll file and put it in ‘C:\Windows\Sysytem32'
then run command regsvr32 api-ms-win-downlevel-shlwapi-l1-1-0.dll /s in cmd

2、逻辑实现

import cv2
import sys
from pathlib import Path
#没有输入文件夹地址,默认文件夹
filepath = sys.argv[1] if sys.argv[1:] else 'C:/Users/Administrator/Desktop/video'
#没有输入帧数,默认帧数为180
frameNum = sys.argv[2] if sys.argv[2:] else 180

for item in Path(filepath).rglob('*.mp4'):
 filename = Path(item).stem #不带后缀文件名
 newPath = Path(item).parent #文件路径
 cap = cv2.VideoCapture(str(item)) # 读取视频文件
 cap.set(cv2.CAP_PROP_POS_FRAMES, float(frameNum))
 if cap.isOpened(): #判断是否正常打开
 rval , frame = cap.read()
 newFile = str(newPath)+ '/' + str(filename) +'.jpg'
 cv2.imencode('.jpg', frame)[1].tofile(newFile)
 print(newFile) #打印生成的路径名
 cap.release()

3、结果展示

获取 F:/video 文件夹里面视频的第5帧

C:\Users\Administrator\Desktop\python\2018\201810>python 2018101201.py F:/video 5
F:\video/test.jpg
F:\video/测试.jpg

python3.5 cv2 获取视频特定帧生成jpg图片

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

Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python正则表达式的使用范例详解
Aug 08 Python
python函数局部变量用法实例分析
Aug 04 Python
python多线程方式执行多个bat代码
Jun 07 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
Django框架表单操作实例分析
Nov 04 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
解决Python字典查找报Keyerror的问题
May 26 Python
Django--权限Permissions的例子
Aug 28 #Python
Python中函数的返回值示例浅析
Aug 28 #Python
django认证系统实现自定义权限管理的方法
Aug 28 #Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 #Python
对Django的restful用法详解(自带的增删改查)
Aug 28 #Python
Python closure闭包解释及其注意点详解
Aug 28 #Python
python opencv调用笔记本摄像头
Aug 28 #Python
You might like
PHP 身份证号验证函数
2009/05/07 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
jQuery列表拖动排列具体实现
2013/11/04 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
python递归函数绘制分形树的方法
2018/06/22 Python
TensorFlow实现模型评估
2018/09/07 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
python和JavaScript哪个容易上手
2020/06/23 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
枚举与#define宏的区别
2014/04/30 面试题
公务员转正鉴定材料
2014/02/11 职场文书
读书活动总结
2014/04/28 职场文书
投标承诺书怎么写
2014/05/24 职场文书
土木工程求职信
2014/05/29 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python