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压缩和解压缩zip文件
Feb 14 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
Python编程之属性和方法实例详解
May 19 Python
Python如何为图片添加水印
Nov 25 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
自学python的建议和周期预算
Jan 30 Python
python批量下载抖音视频
Jun 17 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
在Python中移动目录结构的方法
2016/01/31 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python获取地震信息 微信实时推送
2019/06/18 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
Python类如何定义私有变量
2020/02/03 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
医大实习自我鉴定
2013/12/07 职场文书
十八届三中全会学习方案
2014/02/16 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
开门红主持词
2014/04/02 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
法人代表证明书范本
2015/06/18 职场文书
民主生活会主持词
2015/07/01 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python
python中redis包操作数据库的教程
2022/04/19 Python