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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
Python随机生成彩票号码的方法
Mar 05 Python
python的keyword模块用法实例分析
Jun 30 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
详解python实现线程安全的单例模式
Mar 05 Python
django Serializer序列化使用方法详解
Oct 16 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
Django在pycharm下修改默认启动端口的方法
Jul 26 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python双链表原理与实现方法详解
Feb 22 Python
基于Python正确读取资源文件
Sep 14 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
Python 下载及安装详细步骤
2019/11/04 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
python 实现的车牌识别项目
2021/01/25 Python
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
师范大学音乐表演专业求职信
2013/10/23 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
报社实习生自荐信
2014/01/24 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
授权委托书格式范文
2014/08/02 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers