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

作者:蚂蚁ailing 时间:2021-05-21 22:41:50 

前言

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

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

教你使用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:\users\xxx\appdata\roaming\python\python39\site-

packages 改成c:\users\xxx\appdata\roaming\python\python39\Scripts。

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:\\video\\images\\";
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提取视频中的美女图片

结束

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

来源:https://www.cnblogs.com/123456feng/p/16140671.html

标签:python,提取,视频,图片
0
投稿

猜你喜欢

  • python调用pyaudio使用麦克风录制wav声音文件的教程

    2023-12-16 13:32:15
  • Python OpenCV中的numpy与图像类型转换操作

    2023-11-17 09:24:20
  • vue父子组件的互相传值和调用

    2024-04-09 10:47:51
  • Python如何处理大数据?3个技巧效率提升攻略(推荐)

    2022-04-02 10:03:03
  • 疯狂上涨的Python 开发者应从2.x还是3.x着手?

    2021-10-25 16:41:54
  • canvas实现图片根据滑块放大缩小效果

    2024-04-16 09:52:15
  • 用Python编写个解释器实现方法接受

    2023-01-11 15:50:08
  • Scrapy-redis爬虫分布式爬取的分析和实现

    2023-01-04 10:21:19
  • Python中sub()的用法说明

    2023-08-04 14:29:32
  • 使用Python创建简单的HTTP服务器的方法步骤

    2023-07-17 01:33:27
  • python与C、C++混编的四种方式(小结)

    2021-06-03 03:01:24
  • python数据分析matplotlib的基础绘图使用

    2022-09-08 18:07:08
  • 基于Pydantic封装的通用模型在API请求验证中的应用详解

    2022-02-20 20:12:24
  • SQL语句之WHERE子句的使用方法

    2007-08-11 12:25:00
  • Python模块/包/库安装的六种方法及区别

    2021-11-03 15:53:56
  • MySQL如何根据不同条件联查不同表的数据if/case

    2024-01-21 14:20:10
  • Win下PyInstaller 安装和使用教程

    2022-08-14 21:29:53
  • 简单方法实现Vue 无限滚动组件示例

    2023-07-02 16:50:14
  • 基于PyQT5制作英雄联盟全皮肤下载器

    2023-07-03 15:54:08
  • Mysql主键UUID和自增主键的区别及优劣分析

    2024-01-14 18:29:28
  • asp之家 网络编程 m.aspxhome.com