python3.5 cv2 获取视频特定帧生成jpg图片

 更新时间:2019年08月28日 11:40:47   作者:weixin_38336920  
这篇文章主要为大家详细介绍了python3.5 cv2 获取视频特定帧生成jpg图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求。结合自己的工作,做一下简单的记录,原本想生成可传参数的exe文件,以方便同事使用。但 import cv2 用pyinstaller生成exe时就会报错,暂时没有找到解决方案 ,报错如下:

(如哪位朋友碰到类似问题,并且解决,请给我留言,谢谢大神)

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现Linux的find命令实例分享

    Python实现Linux的find命令实例分享

    本文给大家分享的是使用python简单实现模拟linux的find命令的实例代码,推荐给大家,希望大家能够喜欢
    2017-06-06
  • Python密码学概述双倍强度加密教程

    Python密码学概述双倍强度加密教程

    这篇文章主要为大家介绍了Python密码学概述双倍强度加密教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-05-05
  • PIL图像处理模块paste方法简单使用详解

    PIL图像处理模块paste方法简单使用详解

    这篇文章主要介绍了PIL图像处理模块paste方法简单使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python 遍历pd.Series的index和value

    python 遍历pd.Series的index和value

    今天小编就为大家分享一篇python 遍历pd.Series的index和value,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • pycharm 多行批量缩进和反向缩进快捷键介绍

    pycharm 多行批量缩进和反向缩进快捷键介绍

    这篇文章主要介绍了pycharm 多行批量缩进和反向缩进快捷键介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Jupyter notebook 启动闪退问题的解决

    Jupyter notebook 启动闪退问题的解决

    这篇文章主要介绍了Jupyter notebook 启动闪退问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Pandas的Series结构及常用操作实例

    Pandas的Series结构及常用操作实例

    这篇文章主要介绍了Pandas的Series结构及常用操作实例,Series序列,是一种一维的结构,类似于一维列表和ndarray中的一维数组,但是功能比他们要更为强大,Series由两部分组成:索引index和数值values,需要的朋友可以参考下
    2023-07-07
  • win8下python3.4安装和环境配置图文教程

    win8下python3.4安装和环境配置图文教程

    这篇文章主要为大家详细介绍了win8下python3.4安装和环境配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • pyqt 实现为长内容添加滑轮 scrollArea

    pyqt 实现为长内容添加滑轮 scrollArea

    今天小编就为大家分享一篇pyqt 实现为长内容添加滑轮 scrollArea,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python3 发送任意文件邮件的实例

    python3 发送任意文件邮件的实例

    下面小编就为大家分享一篇python3 发送任意文件邮件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01

最新评论