深度学习训练数据打标签过程

article/2025/8/22 15:54:35

深度学习训练数据打标签过程

为了获取大量的图片训练数据,在采集数据的过程中常用视频的方式采集数据,但对于深度学习,训练的过程需要很多的有有标签的数据,这篇文章主要是解决视频文件转换成图片文件,并加标签,最后把数据存储到pkl文件中,为后续深度学习提供数据。

1. video to image

  • 这个应用,主要是把视频切分成图片,并保存到本地,可以自定义切分的时间间隔;
  • 在深度学习中,由于场景的需要,有时候需要自己动手去做图片的标注,但是我们在采取数据的时候,多把数据保存成视频的形式,对于视频的信息不好进行标注。对于视频转换成图片,可以通过播放视频,然后通过截图的方式把所需要的图片保存到本地,但是这样子的话,工作效率很很低。所以,为解决这个麻烦的过程,我先把视频的数据一帧一帧的读取进来,并生成成图片保存到本地,节省了大量的时间。

具体代码实现过程

# 导入所需要的库
import cv2
import numpy as np
# 定义保存图片函数
# image:要保存的图片名字
# addr;图片地址与相片名字的前部分
# num: 相片,名字的后缀。int 类型
def save_image(image,addr,num):address = addr + str(num)+ '.jpg'cv2.imwrite(address,image)
# 读取视频文件
videoCapture = cv2.VideoCapture("./input/chen6.30.mp4")
# 通过摄像头的方式
# videoCapture=cv2.VideoCapture(1)
#读帧
success, frame = videoCapture.read()
i = 0
while success :i = i + 1save_image(frame,'./output/img_',i)if success:print('save image:',i)success, frame = videoCapture.read()
save image: 1
save image: 2
save image: 3
save image: 4
save image: 5
save image: 6......

2. 对于生成的图片添加label,并保存成pkl格式

  • 在这里只选择两张图片进行举例。
import numpy as np
from PIL import Image
import pickle
import matplotlib.pyplot as plt
%matplotlib inline

2.1 读取图片

img_640 = Image.open('./output/img_640.jpg')
img_910 = Image.open('./output/img_910.jpg')
# 显示图片
plt.imshow(img_640)
<matplotlib.image.AxesImage at 0x15ece1330b8>

png

2.2 把图片数据转换成numpy.ndarray

img_640_n = np.array(img_640)
img_910_n = np.array(img_910)
type(img_640_n)
numpy.ndarray

2.3 对数据进行保存

# 创建一个空list,用于存储图像数据因为是两张图片说以创建2个(480, 640, 3)的矩阵。
image_data = []
# 把数据存放进来
image_data.append(img_640_n)
image_data.append(imgh_910_n)
# 添加标签,假设这两张图片是两个类别,把他们标注为类型1和2
image_data_label = np.empty(2)image_data_label[0] = 1
image_data_label[1] = 2
# 把标签的类型转换成int类型,为了方便出来也把data转换成numpy.ndarray类型
image_data = np.array(image_data)
image_data_label=image_data_label.astype(np.int)
image_data_label
array([1, 2])
plt.imshow(image_data[1])
<matplotlib.image.AxesImage at 0x15ece1845f8>

png

2.4 把数据保存到pkl文件中

# 把数据合并成一个元组进行保存
train_data = (image_data,image_data_label)
# 把数据写入pkl文件中
write_file=open('./input/train_data.pkl','wb')  
pickle.dump(train_data,write_file)  
write_file.close()

3.读取图片标签和数据

# 从pkl文件中读取图片数据和标签
read_file=open('./input/train_data.pkl','rb')  (train_data,lab_data)=pickle.load(read_file)
read_file.close() 
# 查看读取出来的数据
train_data.shape
(2, 480, 640, 3)
lab_data
array([1, 2])
plt.imshow(train_data[0])
<matplotlib.image.AxesImage at 0x15ece1daa20>

png

到这里就完成了把图片加标签后存储与读取,为后续神经网络数据的输入做准备,当我们需要数据的时候,把pkl文件加载进来就可以。

github地址


http://chatgpt.dhexx.cn/article/aERtbFdL.shtml

相关文章

k8s-节点打标签

node标签设置后&#xff0c;pod可以根据要求让pod调度到想要的节点上运行&#xff0c;或者不在某节点运行。或者确保pod调度到具有高性能&#xff08;比如ssd的机器&#xff09;的节点山上。 1.展示节点标签&#xff1a; kubectl get node --show-labelstrue2.添加节点标签 …

python 图片数据集批量打标签

1.数据集介绍 OutdoorScene数据集&#xff1a;http://people.csail.mit.edu/torralba/code/spatialenvelope/ This dataset contains 8 outdoor scene categories: coast, mountain, forest, open country, street, inside city, tall buildings and highways. There are 2688…

打印标签时如何解决打印偏移

我们在打印标签时&#xff0c;使用的纸张一般都是不干胶卷纸&#xff0c;这样的卷纸又有单排、双排、三排和四排的规格。这些不同规格的标签纸在条码打印中经常会出现打印偏移的问题&#xff0c;甚至会跳纸&#xff0c;遇到这样的情况该如何调整呢&#xff1f;小编下面详细介绍…

视频打标签算法探讨

随着内容时代的来临&#xff0c;多媒体信息&#xff0c;特别是视频信息的分析和理解需求&#xff0c;如图像分类、图像打标签、视频处理等等&#xff0c;变得越发迫切。目前图像分类已经发展了多年&#xff0c;在一定条件下已经取得了很好的效果。本文因实际产品需求&#xff0…

labelImg打标签教程

前言: 打标签的精度&#xff0c;会直接影响目标检测算法最终的识别准确率 安装: labelImg是图片标注软件&#xff0c;用于数据集的制作、标注等等。 在cmd中依次运行以下命令&#xff1a; pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install pyqt5-t…

Docker篇之镜像打标签tag

日常线上活动中&#xff0c;当我们对系统进行开发时&#xff0c;做容器化管理&#xff0c;因为每一个版本不同&#xff0c;可能随着业务量的产生&#xff0c;需求的迭代更新&#xff0c;不同版本所需要的环境不同。 因此&#xff0c;为了满足这样的问题&#xff0c;我们通常做的…

K8S给节点打标签和打污点

打标签 kubectl label node node名 key=value kubectl label node node1 env-role=prod查看标签 kubectl get nodes --show-labels打污点 kubectl taint node node名 key=value:污点三个可选值 NoSchedule : 一定不被调度 PreferNoSchedule : 尽量不被调度 NoExecute : 不…

机器学习 数据预处理之数据打标签

工作内容&#xff1a; 1.读取pdf文档内容 2.分页显示 3.每个数据后设置下拉框供手动打标签 4.数据录入txt文档 代码&#xff1a; import math import os import tkinter as tk from tkinter import * import tkinter.ttk as ttk from tkinter.messagebox import * import …

Excel中批量生成标签,批量打印标签。按指定模板批量打印标签

&#xff11;.问题概述 工作中经常需要将产品明细表转换成标签&#xff0c;贴在送货单上&#xff0c;或者将学生成绩转换成标签打印出来发送给学生。 例如在下图中有若干产品的送货信息&#xff0c;要求按图2的模板批量打印。 图1 送货信息 图2 标签模板 要实现此类需求&…

SVN打标签方法及在此过程中的问题处理

所谓的“打标签”&#xff0c;我个人的理解是&#xff1a;项目取得了阶段性成果&#xff0c;需要保存在标签&#xff08;tags文件夹&#xff09;中&#xff0c;以备不时之需。我采用的打标签的方法是&#xff1a; 1、在SVN客户端打标签。前提是本地项目与SVN Server上的项目无…

图片打标签labelimg

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Windows安装二、使用步骤1.在cmd命令行中创建一个新的环境2.对图片打标签3.保存打标签的图片4.如何打开已经安装的labelimg 总结 前言 对图片打标签是数据…

使用Labelimg打标签

1.下载Labelimg &#xff08;1&#xff09;打开cmd命令行 用Windowr打开命令行&#xff0c;输入cmd命令。 &#xff08;2&#xff09;输入命令 pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple -i的后半部分是清华镜像源地址。 &#xff08;3&#xff…

使用BarTender连接Excel打印标签

一、准备Excel内容 比如我这里设计的是产品信息表内容如下: 二、设计标签样式 详细的设计标签样式操作请参考:获取BarTender10.1和新建一个BarTender模板 三、连接Excel数据库 3.1、选中任意需要填充数据的组件,打开属性面板 3.2、选择属性面板中数据源下的组件名称,点…

使用labelme打标签,详细教程

做图像语义分割&#xff0c;打标签时需要用到labelme这个工具&#xff0c;我总结了它的详细使用教程。 目录 一、安装labelme工具二、文件位置关系三、labelme工具四、labelme工具的快捷键五、代码&#xff08;将标签文件转为统一固定格式&#xff09;六、总结 一、安装labelm…

深度学习中常见的打标签工具和数据集资源

深度学习中常见的打标签工具和数据集资源 一、打标签工具1. labelimg/labelme1.1 搭建图片标注环境&#xff08;win10)(1) 安装anaconda3(2) 在anaconda环境python3下搭建labelImg环境 1.2 打标签1.2 搭建图片标注环境&#xff08;ubuntu18.04)1.3 快捷键 一、打标签工具 1. l…

自训练数据集打标签注意事项及使用工具推荐

盘点自训练数据集如何打标签&#xff01; 一、打标签规则 二、推荐工具 使用心得 前言 分享我在训练自己的数据集前期所碰到的一些问题&#xff0c;希望大家能及时避雷&#xff01; 一、打标签规则 由于我使用YOLOv5模型&#xff0c;查询官方建议以及网上各路大神总结的经…

深度学习中常见的打标签工具和数据集集合

集大家之所长汇集于此&#xff0c;希望对有需要的你能有所帮助。 一、打标签工具 &#xff08;1&#xff09;labelimg/labelme 这两款工具简便易行&#xff0c;前者主要用于对目标进行大致的标定&#xff0c;用于常见的框选标定&#xff0c;后者主要用于较为细致的轮廓标定&…

C 语言开发环境

一.环境介绍 1.Mac 平台直接下载苹果商店Xcode,该集成开发工具使用的是clang 开源编译器 2.Windows 可以使用Code Blocks&#xff0c;当初笔者上学时使用的还是非常老旧的VC6.0,尤其是对于变量的定义是非常痛苦的一件事。code blocks 是一个集成开发环境&#xff0c;在安装过…

C语言开发环境,请查收

C语言开发环境的选择&#xff0c; 貌似是告诉我们&#xff0c;工欲善其事&#xff0c;必先利其器。 01、Visual Studio Visual Studio&#xff08;简称 VS&#xff09;&#xff0c;它是 Windows 下的标准 IDE&#xff0c;VS系列为IDE&#xff08;集成开发环境&#xff09;&am…

vs配置C语言环境

vs配置C语言环境 仅仅粗略地记录我在配置过程中踩的坑 首先我是参考这篇博文配置的&#xff01;VSCode配置C语言环境&#xff08;完整版&#xff09;VSCode配置C语言环境&#xff08;完整版&#xff09; 但是按照这个配置完毕后&#xff0c;按F5运行时&#xff0c;生成的echo …