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正规则表达式学习指南
Aug 02 Python
Python新手入门最容易犯的错误总结
Apr 24 Python
对Python+opencv将图片生成视频的实例详解
Jan 08 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
python解析xml简单示例
Jun 21 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
python为QT程序添加图标的方法详解
Mar 09 Python
详解Python中namedtuple的使用
Apr 27 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
python定义具名元组实例操作
Feb 28 Python
pytorch中[..., 0]的用法说明
May 20 Python
方法汇总:Python 安装第三方库常用
Apr 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
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
Knockoutjs快速入门(经典)
2012/12/24 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
python 实现图片裁剪小工具
2021/02/02 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
怀念母亲教学反思
2014/04/28 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
请假条应该怎么写?
2019/06/24 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang