如何贴标签机应用程序存储像素导出标签
当您创建和出口的像素标签图片标志,贴标签机视频,或地面实况贴标签机(自动驾驶工具箱)(需要自动驾驶的工具箱™)应用程序,两组数据保存。
一个文件夹命名
PixelLabelData
PNG文件,其中包含的像素标签信息。这些标签编码作为索引值。包含像素的MAT-file标签数据,以及任何其他标签数据。这些数据存储在一个
groundTruth
对象,或者,如果您正在使用地面实况贴标签机应用程序,groundTruthMultisignal
(自动驾驶工具箱)对象。对于像素标签数据,对象还存储的图像或视频帧之间的通讯和PNG文件。
内的PNG文件PixelLabelData
文件夹被存储为一个分类矩阵。的分类
矩阵包含值分配给类。分类是一种数据类型。分类矩阵提供了非数字数据的高效存储和方便的操作,同时还保持有意义的名称的值。这些矩阵是自然的表现为语义分割地面真理,其中每个像素是一个预定义的类别的标签之一。
位置像素标签数据文件夹
地面实况对象存储文件夹路径和名称为像素标签数据文件夹。的LabelData
财产的groundTruth
对象或ROILabelData
财产的groundTruthMultisignal
对象包含的信息“PixelLabelData”
列。如果你改变像素数据文件的位置,您还必须更新相关信息在地面实况对象。您可以使用changeFilePaths
函数来更新信息。
出口像素标签数据视图
贴标签机应用程序商店的语义分割地面真理作为无损的PNG文件,用一个uint8
代表每个类别的值。应用程序使用分类
函数把uint8
值一个类别。查看你的像素数据,您可以覆盖的类别标记的图像或创建一个数据存储图像。
视图导出数据覆盖类别在图像像素标签
使用imread
函数与分类
和labeloverlay
功能。你不能查看像素数据直接从分类矩阵。看到出口像素标签数据视图。
视图导出数据从数据存储的标签图像像素标签
使用pixelLabelDatastore
函数创建一个数据存储从一组标记图像。使用读
函数来读取像素标签数据。看到读取和显示像素标签数据。
例子
出口像素标签数据视图
读取图像和相应的像素标签数据从一个出口贴标签机应用。
visiondatadir = fullfile (toolboxdir (“愿景”),“visiondata”);buildingImage = imread (fullfile (visiondatadir“建筑”,“building1.JPG”));buildingLabels = imread (fullfile (visiondatadir“buildingPixelLabels”,“Label_1.png”));
为每个像素值定义类别buildingLabels
。
labelIDs = (1、2、3、4);labelcats = [“天空”“草”“建筑”“人行道”];
构造一个分类矩阵使用图像和定义。
buildingLabelCats =分类(buildingLabels labelIDs labelcats);
覆盖在图像显示类别。
图imshow (labeloverlay (buildingImage buildingLabelCats))
读取和显示像素标签数据
覆盖像素标签图像数据。
设置图像的位置和像素标签数据。
dataDir = fullfile (toolboxdir (“愿景”),“visiondata”);imDir = fullfile (dataDir,“建筑”);pxDir = fullfile (dataDir,“buildingPixelLabels”);
创建一个图像数据存储。
imd = imageDatastore (imDir);
创建一个数据存储像素标签。
一会= [“天空”“草”“建筑”“人行道”];pixelLabelID = (1 2 3 4);一会,pxds = pixelLabelDatastore (pxDir pixelLabelID);
读取图像和像素标签数据。阅读(pxds)
返回一个分类矩阵,C
。元素C (我,j)矩阵分类标签指定的像素位置l (我,j)。
我=读(imd);C =阅读(pxds);
显示标签的类别C
。
类别(C {1})
ans =4 x1细胞{‘天空’}{‘草’}{“建筑”}{“人行道”}
覆盖和显示数据到图像的像素标签。
B = labeloverlay(我,C {1});图imshow (B)