【骚操作】Python 教你无损提取视频中的美女图片

news/2024/11/2 15:15:52/

前言

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

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

在这里插入图片描述

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

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

2.OpenCV 读取并处理视频

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

在这里插入图片描述

安装模块

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

pip3 install you-get

2.windows 的 ffmpeg 的下载地址是

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

在这里插入图片描述

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

在这里插入图片描述

pip3 install opencv-python

you-get

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

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

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

在这里插入图片描述

如果报 ‘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 可以用于人机互动、图像分割、人脸

识别等等领域。

在这里插入图片描述

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

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

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

在这里插入图片描述

3.cap.isOpened()

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

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

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

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


Python学习交流Q群:906715085####
import cv2
import osimage_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\\✿温柔旗袍中国风✿

在这里插入图片描述

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

喜欢的点赞收藏,不懂的评论留言,看见就回。

在这里插入图片描述


http://www.ppmy.cn/news/687765.html

相关文章

花瓣网爬取美女图片 每次20张

现在是晚上11点40了,今天是第一天学习爬虫知识,初学者,只是很大概的接触Python的语法,所以今天一下午加晚上学的挺累的。 遇到第一个问题就是Python脚本运行出现语法错误:IndentationError: unindent does not match …

用python爬虫爬取海量高清美女图片,亲测2021年12月20日可用,适合初学者

因为近期在自学python,想着先通过一些项目提升对这个编程语言的兴趣,而且爬虫也是python中对基本功要求较低的项目,就根据所学内容编写了一个爬虫项目爬取某网站的图片。温馨提示:爬虫学得好,牢饭吃到饱,学…

Java爬虫-使用爬虫下载千张美女图片!

目的 爬取搜狗图片上千张美女图片并下载到本地 准备工作 爬取地址:https://pic.sogou.com/pics?query%E7%BE%8E%E5%A5%B3 分析 打开上面的地址,按F12开发者工具 - NetWork - XHR - 页面往下滑动XHR栏出现请求信息如下: Request URL &a…

手把手带你爬取百度美女图片,Python练手项目!

本文纯技术角度出发,教你如何用Python爬虫获取百度美女图片——技术无罪。 目标站点 百度图片使用关键字搜索 小姐姐私房照 https://image.baidu.com/开发环境 系统:Windows10 64位Python版本:Python3.6.5(Python3以上版本即可)IDE&#…

vuex-persistedstate —— 数据持久化

在之前的篇目当中对于 Vuex 中的相关内容都讲得差不多,但是在项目中去使用vuex,虽然数据状态得到管理了,但数据在每一次都需要去重新加载,那么对于数据的持久化vue是没有给解决的,而是通过第三方的工具去进行数据的持久…

【20220819】文献翻译——Deephase:周期性自编码器学习运动相位流形

Deephase:周期性自编码器学习运动相位流形 1. 简介2. 相关工作3. 周期性自动编码器3.1 网络结构3.2 相位流形3.3 网络训练 4. 运动控制器4.1 神经运动控制器4.2 运动匹配 5 实验和评估5.1 学习到的相位流形5.2 神经网络的运动合成5.3 评估 6. 讨论7. 局限性8. 结论和…

HTTP 415

描述 在使用Easy-UI框架请求表单数据的UPDATE操作的时候,报了如下入错:General Request URL: http://localhost:8280/device/instrument/v1/register Request Method: POST Status Code: 415 Remote Address: [::1]:8280 Referrer Policy: no-referrer…

【系统架构】第六章-数据库设计基础知识(数据库设计)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…