无损提取视频中的图片教程方法

Notice: Undefined offset: 19 in/www/wwwroot/wyc/wyc/wyc.phpon line67Notice: Undefined offset: 20 in/www/wwwroot/wyc/wyc/wyc.phpon line67人类都是视觉动物。不管

本文最后更新时间:  2023-04-21 18:07:08

Notice

: Undefined offset: 19 in

/www/wwwroot/wyc/wyc/wyc.php

on line

67Notice

: Undefined offset: 20 in

/www/wwwroot/wyc/wyc/wyc.php

on line

67

人类都是视觉动物。不管是男生还是女生看到漂亮的小姐姐或者小哥哥,都想截图保存。但是截图会造成画质损失,抓拍图像不规则,像素低等问题。

用Python写一个小脚本一帧一帧的保存视频,大致可以分为三步:

在 cmd 中使用 you-get 下载视频OpenCV 读取并处理视频将视频画面保存为图片

安装模块

you-get 模块用于下载视频,它需要 ffmpeg 模块配合使用。pip3 install you-getwindows 的 ffmpeg 的下载地址是 [https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z],解压后将 bin 文件加入环境变量。python-OpenCV 模块用来读取视频帧,并保存成图片。pip3 install opencv-python

你-滚

You-get是一款开源的视频下载软件,支持80+网站的视频下载。它只需要一行代码。

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

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

如果消息“you-get”不是内部或外部命令,也不是可运行的程序问题,它可以运行。

pip show you-get

将Location值的site-packages更改为Scripts,并将它们添加到环境变量中,例如:C:usersxxxappdataroamingpython 39 site-packages to C:usersxxxappdataroamingpython 39 Scripts。

OpenCV

磨刀不误砍柴工。在开发之前,我们先了解一下OpenCV。它的全称是开源计算机视觉库,是一个跨平台的计算机视觉库。OpenCV-Python是OpenCV的Python API。它结合了C++和Python的最佳特性,支持Python解决计算机视觉问题。OpenCV可用于人机交互、图像分割、人脸识别等领域。

在处理视频以逐帧保存图片时,需要以下功能:

cap = cv2.VideoCapture("视频地址"):参数是视频的地址表示读取一个视频文件。cap = cv2.VideoCapture(0):参数是 0 表示打开电脑上的摄像头。cap.isOpened():返回 true 和 false 表示是否成功。success, frame = cap.read(): 这个函数就是 OpenCV 读取视频的下一帧,第一个返回值表示是否读取成功,第二个返回值就是返回读取到的视频帧。cv2.imencode():将上面的视频帧按照图片编码后缓存到内存中,调用 tofile() 函数保存成文件。

不用多说,用上面的函数写一个Python程序,用于捕捉视频图像。

import cv2import osimage_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?温柔旗袍中国风? (P1. 【横屏】).mp4')

摘要

本文简要介绍了you-get的使用方法以及如何使用OpenCV读取视频和保存图片。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。