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实现3行代码解简单的一元一次方程
Aug 18 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
详解Python:面向对象编程
Apr 10 Python
python实现ip代理池功能示例
Jul 05 Python
Django之路由层的实现
Sep 09 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
python实现简单坦克大战
Mar 27 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
有趣的二维码:使用MyQR和qrcode来制作二维码
May 10 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.MVC的模板标签系统(四)
2006/09/05 PHP
php自定文件保存session的方法
2014/12/10 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
Python 3中的yield from语法详解
2017/01/18 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
应届毕业生应聘自荐信
2013/12/07 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
副厂长岗位职责
2014/02/02 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
《日月潭》教学反思
2016/02/20 职场文书
高质量“欢迎词”
2019/04/03 职场文书
php字符串倒叙
2021/04/01 PHP