脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 教你使用Python提取视频中的美女图片

教你使用Python提取视频中的美女图片

2022-11-30 10:38蚂蚁ailing Python

这篇文章主要介绍了教你使用Python提取视频中的美女图片,使用 Python 写一个逐帧无损保存视频画面的小脚本,大概分为三个步骤,详细过程跟随小编一起看看吧

前言

人类都是视觉动物,不管是男生还是女生看到漂亮的小姐姐、小哥哥就想截图保存下来。可是截图会对画质会产生损耗,截取的

画面不规整,像素不高等问题。

教你使用Python提取视频中的美女图片

用 Python 写一个逐帧无损保存视频画面的小脚本大致可以分为三个步骤:

1.在 cmd 中使用 you-get 下载视频

2.OpenCV 读取并处理视频

3.将视频画面保存为图片

教你使用Python提取视频中的美女图片

安装模块

1.you-get 模块用于下载视频,它需要 ffmpeg 模块配合使用。

pip3 install you-get

2.windows 的 ffmpeg 的下载地址是

[https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z],解压后将 bin 文件加入环境变量。

教你使用Python提取视频中的美女图片

3.python-OpenCV 模块用来读取视频帧,并保存成图片。

教你使用Python提取视频中的美女图片

pip3 install opencv-python

you-get

you-get 是一个开源的视频下载软件,支持 80+ 网站视频的下载。只需要一行代码就可以了。

在 cmd 中运行下面的命令下载视频:

you-get -o 下载后保存文件的目录 视频的 url 地址

教你使用Python提取视频中的美女图片

如果报 ‘you-get’ 不是内部或外部命令,也不是可运行的程序 问题,可以运行

pip show you-get

将 Location 的值的 site-packages 改成 Scripts 加入到环境变量,如:c:usersxxxappdata oamingpythonpython39site-

packages 改成c:usersxxxappdata oamingpythonpython39Scripts。

OpenCV

磨刀不误砍柴工, 在开发之前先来认识一下 OpenCV。它的全称是 Open Source Computer Vision Library,是一个可以跨平台的

计算机视觉库 ,OpenCV-Python 是 OpenCV 的 Python API。

它集合了 C++ 和 Python 的最优特征,用于支持 Python 解决计算机视觉的问题。OpenCV 可以用于人机互动、图像分割、人脸

识别等等领域。

教你使用Python提取视频中的美女图片

在处理视频按帧保存图片的时候需要用到以下几个函数:

1.cap = cv2.VideoCapture("视频地址"):参数是视频的地址表示读取一个视频文件。

2.cap = cv2.VideoCapture(0):参数是 0 表示打开电脑上的摄像头。

教你使用Python提取视频中的美女图片

3.cap.isOpened():

返回 true 和 false 表示是否成功。

4.success, frame = cap.read():这个函数就是 OpenCV 读取视频的下一帧,第一个返回值表示是否读取成功,第二个返回值就是返回读取到的视频帧。

5.cv2.imencode():将上面的视频帧按照图片编码后缓存到内存中,调用 tofile() 函数保存成文件。

话不多说,用上面的函数写一个截取视频画面的 Python 程序

import cv2
import os
image_base_path = "D:videoimages";
def get_images(video_path):    
frame_times = -1;    
fileName = video_path.split("")[-1:][0].split(".")[0]   
 image_out_path = image_base_path + fileName    
 if not os.path.exists(image_out_path):        
 os.makedirs(image_out_path) 
    cap = cv2.VideoCapture(video_path)    
    while cap.isOpened():        
    frame_times = frame_times + 1        
    success, frame = cap.read()       
     if not success:            
     break;
        cv2.imencode(".jpg", frame)[1].tofile(image_out_path + "" + str(frame_times) + ".jpg")
        
if __name__ == "__main__":    
get_images("D:vedio✿温柔旗袍中国风✿

教你使用Python提取视频中的美女图片

结束

代码和教程给大家放在上面,喜欢的都可以动手操作起来。教程很简单,非常适合大家拿来练手。

到此这篇关于教你使用Python提取视频中的美女图片的文章就介绍到这了,更多相关python提取视频图片内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://www.cnblogs.com/123456feng/p/16140671.html

延伸 · 阅读

精彩推荐
  • Python答题辅助python代码实现

    答题辅助python代码实现

    这篇文章主要为大家详细介绍了答题辅助python代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    懒企鹅9982021-01-05
  • Pythonlinux 编译安装python3.6的教程详解

    linux 编译安装python3.6的教程详解

    这篇文章主要介绍了linux 编译安装python3.6的教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    我是小木豆7322021-10-25
  • Python零基础使用Python读写处理Excel表格的方法

    零基础使用Python读写处理Excel表格的方法

    这篇文章主要介绍了Python读写处理Excel表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着...

    Cloudox_9942021-06-22
  • Python解决python "No module named pip"的问题

    解决python "No module named pip"的问题

    今天小编就为大家分享一篇解决python "No module named pip"的问题。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    巴黎塔上的星空15382021-04-07
  • Python使用Python编写基于DHT协议的BT资源爬虫

    使用Python编写基于DHT协议的BT资源爬虫

    这篇文章主要介绍了使用Python编写基于DHT协议的BT资源爬虫的方法,文中对于DHT协议的相关知识也作了补充说明,需要的朋友可以参考下 ...

    TAN9LE5862020-08-17
  • Pythonpython网络爬虫精解之正则表达式的使用说明

    python网络爬虫精解之正则表达式的使用说明

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”...

    小狐狸梦想去童话镇4532022-01-12
  • Python使用Python将数组的元素导出到变量中(unpacking)

    使用Python将数组的元素导出到变量中(unpacking)

    最近工作中遇到一个问题,需要利用Python将数组(list)或元组(tuple)中的元素导出到N个变量中,现在将我实现的方法分享给大家,有需要的朋友们可以参...

    脚本之家4922020-09-11
  • Python关于python DataFrame的合并方法总结

    关于python DataFrame的合并方法总结

    这篇文章主要介绍了关于python DataFrame的合并方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    haha_point7092022-07-13