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中global用法实例分析
Apr 30 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
python的re模块使用方法详解
Jul 26 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
OpenCV-Python实现轮廓拟合
Jun 08 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
咖啡的种类和口感
2021/03/03 新手入门
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
php实现文件预览功能
2017/05/23 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
Javascript 陷阱 window全局对象
2008/11/26 Javascript
javascript prototype原型操作笔记
2009/12/07 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
python比较两个列表大小的方法
2015/07/11 Python
python 切换root 执行命令的方法
2019/01/19 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Django使用rest_framework写出API
2020/05/21 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
财务会计专业应届毕业生求职信
2013/10/18 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
小学作文评语大全
2014/04/21 职场文书
差生评语大全
2014/05/04 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
JS实现数组去重的11种方法总结
2022/04/04 Javascript
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers