文章目录
前言
我们知道,深度学习数据集越多越好,通常1万份数据集才能达到较高的准确率。在图像数据集中,常用多场景下的视频转换大量图片作为图像数据集,此处介绍相关概念以及使用python做h256编码的视频截取成图片视频抽帧获取图片的具体操作方法。
一、python、深度学习、数据集的概念
1.python
python是一种通用高级编程语言。它的设计目标是简单直观、开源、代码易理解、适用于短期开发的日常任务。它完全面向对象,拥有一个强大的标准库和丰富的第三方模块,使得Python在多个领域都能进行快速开发。Python的流行迅速增长部分归功于其清晰简洁的语法和增强的可读性。
2.深度学习
深度学习是一类机器学习算法,它使用多个层逐步从原始输入中逐步提取更高级别的特征。例如,在图像处理中,较低层可以识别边缘,而较高层可以识别对人类有意义的部分,例如数字/字母或面部。
3.数据集
深度学习数据集集合是指由大量标注数据组成的数据集。它们被广泛用于训练和评估深度学习模型,帮助算法理解和解决各种任务,如图像分类、物体检测、语义分割等。
这些数据集集合包含了各种不同类型的数据,涵盖了多个领域和应用场景。例如,ImageNet是一个广泛使用的图像分类数据集,包含数百万张不同类别的图像;COCO是一个用于物体检测和语义分割的数据集,包含了多个对象类别和复杂的场景;MNIST是一个手写数字识别数据集,常用于入门级的机器学习实践等等。
二、使用步骤
1.从visualstudio官网下载
visualstudio中文汉化
安装D盘并打开VsCode,【Ctrl+Shift+P】,键入configure language,点击安装中文选项,重启VsCode就可以看到中文界面了。
2 安装python环境
2.1 在visualstudio中安装python包
点击左侧扩展选项,搜索框键入python,选择第一个安装即可。
当然,如果想用VScode编译简单的C代码,搜索框键入C/C++,安装即可。
2.2 安装python依赖库
创建py文件,编写一段python代码发现报错,这是缺少python依赖库所致,【WIN+S】搜索python出现python 3.11下载安装即可。
编写一段获取当前时间并打印的python代码,点击右侧编译,在终端框看到当前时间被打印出来。
注意:若没有打印表示安装的有问题,重新安装即可
【WIN+S】,输入cmd,并以管理员身份运行,输入python ,显示如上图, 代表安装成功,输入exit() 退出py环境,至此,python环境安装成功。
3.安装opencV
由于抽帧操作的python的代码中调用了opencV ,需要安装与python3.11对应版本的opencV。
这里使用cmd命令安装会比较方便。在命令行输入:pip install opencv-python
但有的时候会报如下错误,一般是因为下载cv的源有问题。
解决方案:在后面加 -i 指定源就可以了(百度搜清华源等)
输入:pip install opencv-python -i https://pypi.doubanio.com/simple/
安装成功如下所示,Warning部分可以忽视
4.编写python代码
import os
import cv2
import numpy as np
import time
#写一个python读取h265编码的视频文件,将其分割成图片
def h265_to_jpg():
video_path = 'C:/Users/Zhangliangshan/Videos/Captures/2024-05-06_17-41-50.h265' #2024-04-22_11-21-34.h265 2024-04-22_11-20-46 2024-04-22_11-19-48
cap = cv2.VideoCapture(video_path)
#cap = cv2.VideoCapture(0)
num = 0
while True:
ret, frame = cap.read()
if ret:
if num%4 == 0 :
cv2.imwrite('C:/Users/Zhangliangshan/Videos/Captures/%d.jpg' % num, frame) #e:\Zxr Files\my project\11111\Downloads
num += 1
else:
break
cap.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
h265_to_jpg() # split_video()
设置h256编码的视频截取成图片视频路径: video_path’C:/Users/Zhangliangshan/Videos/Captures/2024-05-06_17-41-50.h265’
设置图片产生路径:cv2.imwrite(‘C:/Users/Zhangliangshan/Videos/Captures/%d.jpg’ % num, frame)
其中的 if num%4 == 0 :行的4可以更改,代表每隔4帧抽取一次。
5.视频抽帧效果
视频和图片放在同一个文件夹下,图片是每隔4帧抽取得到,序号比较乱,后期需要删除 不合适的照片,并利用python做排序,得到有效且有序的图片集。
有什么问题可以发表在评论区,欢迎一起学习、批评指正。