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 相关文章推荐
python socket 超时设置 errno 10054
Jul 01 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
python 简单的多线程链接实现代码
Aug 28 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
Python selenium的基本使用方法分析
Dec 21 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 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得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python实现同一局域网下传输图片
2020/03/20 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
采购主管工作职责
2013/12/12 职场文书
厨房管理计划书
2014/04/27 职场文书
工作推荐信范文
2014/05/10 职场文书
拓展训练激励口号
2014/06/17 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
消防演习感想
2015/08/10 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
Python进程池与进程锁之语法学习
2022/04/11 Python
Hive日期格式转换方法总结
2022/06/25 数据库
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技