主要内容

pixelLabelDatastore

像素标签数据的数据存储

描述

您可以使用一个PixelLabelDatastore对象读取像素标签数据语义分割。

读取像素标签的数据PixelLabelDatastore,可以使用函数。这个函数返回一个包含一个分类标签分类数组分配给每一个(,j)像素位置或(,j,k)体素位置。

创建

创建一个PixelLabelDatastore对象使用pixelLabelDatastore这里描述的函数。一旦创建了对象,您可以使用函数访问和管理数据。可以使用点符号修改ReadSizeReadFcn属性。

描述

例子

pxds = pixelLabelDatastore (gTruth)创建一个PixelLabelDatastore对象从一个groundTruth对象或数组groundTruth对象。

pxds = pixelLabelDatastore (位置,一会,pixelLabelIDs)创建一个PixelLabelDatastore物体从图像文件存储像素标签数据,在指定的文件夹或文件位置。函数创建对象使用id地图图像像素扫描标签值的类名。

pxds = pixelLabelDatastore (___、名称、值)创建一个PixelLabelDatastore对象使用名称-值对参数设置一个或两个ReadSizeAlternateFileSystemRoots属性。图像文件的输入,您还可以使用名称-值对参数设置ReadFcn财产或指定选项关于文件中包含数据存储。您可以指定多个名称-值对。在报价附上每个属性的名字。

例如,pixelLabelDatastore (loc,名称、id ReadSize, 8日FileExtensions, png)创建一个只包含PNG图像像素标签数据存储,读取8图像在每个调用函数。

输入参数

全部展开

地面实况数据,指定为一个groundTruth对象或数组groundTruth对象。每一个groundTruth对象包含关于数据源的信息,标签的列表定义和一套地面真理所有标记标签标签。

文件夹或图像文件名称,指定为一个特征向量,特征向量的字符串数组,数组或单元。图像必须包含uint8数据。

位置 描述
特征向量,字符串数组 一个文件夹的名字。指定文件夹的子文件夹内文件不会自动包含在数据存储中。数据存储只包含图像文件格式和忽略任何其他格式的支持。金宝app看到一个支持的文件格式使用列金宝app表imformats函数。
单元阵列的特征向量 多幅图像的文件名。

pixelLabelDatastore扩展文件名并存储的完整的文件路径文件财产。

您可以使用通配符(*)时指定位置。这个字符显示所有匹配的文件或匹配的文件夹中所有文件包含在数据存储中。

如果文件不在当前文件夹,然后你必须包括完整或相对路径。

如果不是本地可用的文件,文件或文件夹的完整路径必须是国际化资源标识符(IRI),等hdfs: / /主机名:portnumber/path_to_file。对使用信息数据存储Amazon S3™和HDFS™,明白了使用远程数据

例子:“file1.jpg”

例子:“. . / dir /数据/ file1.png”

例子:{“C: \ dir \ data \ file1.tif”,“C: \ dir \ data \ file2.tif”}

例子:“C: \ dir \ data \ * . jpg”

数据类型:字符|细胞

类名称,指定为一个细胞或字符的字符串数组向量。pixelLabelDatastore将名称转换为单元阵列和商店的名字一会财产。

例子:["天空"“草”“建筑”“人行道”]

id映射像素标签一会指定为一个向量,3矩阵单元阵列的列向量,或单元阵列3矩阵。值必须是整数的范围[0,255]。3矩阵只支持RGB图像。金宝app

格式 描述
向量 向量的长度必须相等数量的类名。值必须是唯一的。
3矩阵 对应的类名。每行包含一个转换向量代表RGB像素值与每一个类名。向量必须是唯一的。使用此格式的数据存储为RGB图像像素标签。

单元阵列的列向量

单元阵列的3矩阵

使用单元阵列的多个像素标签id映射到一个类名。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“IncludeSubfolders”,真的

包括子文件夹,指定为逗号分隔组成的“IncludeSubfolders”(0),或真正的(1)。指定真正的包括每个文件夹内的所有文件和子文件夹只包括每个文件夹内的文件。

IncludeSubfolders参数不支持当你指定地面实况数据金宝appgTruth

文件扩展名的文件,包括数据存储,指定为逗号分隔组成的“FileExtensions”一个特征向量,单元阵列特征向量,标量字符串或字符串数组。默认情况下,数据存储包括文件与所有支持的扩展金宝appimformats函数。

FileExtensions参数不支持当你指定地面实况数据金宝appgTruth

例子:[" png”“gif”“bmp”)

属性

全部展开

这个属性是只读的。

文件中包含的数据存储,指定为一个字符特征向量的向量或单元阵列。每个字符向量是一个文件的完整路径。当您创建一个PixelLabelDatastore对象,使用位置参数设定这个属性。

这个属性是只读的。

类名称,指定为一个单元阵列的特征向量。

最大数量的图像文件读入每个调用函数,指定为一个正整数。

替代的文件系统根路径,指定为名称参数组成的“AlternateFileSystemRoots”和一个字符串向量或一个单元阵列。使用“AlternateFileSystemRoots”当您创建一个数据存储在本地机器上,但需要在另一台机器上访问和处理数据(可能是不同的操作系统)。另外,当处理数据使用并行计算工具箱™和MATLAB®并行服务器™,数据存储在您的本地机器复制的数据在不同的平台上云或集群机器,您必须使用“AlternateFileSystemRoots”把根路径。

  • 把一组相当于一根路径,指定“AlternateFileSystemRoots”作为字符串向量。例如,

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 把多个根集数据存储路径是等价的,指定“AlternateFileSystemRoots”作为一个单元阵列包含多个行,每一行表示一组等价的根路径。指定单元阵列中的每一行作为一个字符串向量或单元阵列的特征向量。例如:

    • 指定“AlternateFileSystemRoots”作为一个字符串向量的单元阵列。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 另外,指定“AlternateFileSystemRoots”作为一个单元阵列单元阵列的特征向量。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

的价值“AlternateFileSystemRoots”必须满足以下条件:

  • 包含一个或多个行,每一行指定一组等价的根路径。

  • 每一行指定多个根路径和每个根路径必须包含至少两个字符。

  • 根路径都是独一无二的,没有子文件夹。

  • 包含至少一个根路径条目指向文件的位置。

有关更多信息,请参见为处理在不同的机器上或设置数据存储集群

例子:[" Z: \数据集”、“/ mynetwork /数据集”)

数据类型:字符串|细胞

函数读取像素标记图像数据,指定为一个函数处理。自定义读取函数必须采取一个图像文件名称作为输入,然后输出相应的像素标记数据作为分类矩阵,逻辑矩阵,或数字矩阵的数据类型uint8。例如,如果customreader是指定的函数来读取图像数据,那么它必须有一个签名类似如下:

函数C = customreader(文件名)结束
如果读函数有多个输出参数,则只使用第一个。其余的将被忽略。

ReadFcn属性指定地面实况数据时不支持金宝appgTruth

例子:@customreader

对象的功能

结合 合并来自多个数据存储的数据
countEachLabel 数出现的像素或盒标签
hasdata 确定数据是否可以读取数据存储
numpartitions 数据存储的分区数量
分区 分区一个标签数据存储
预览 读第一行数据存储的数据
从数据存储中读取数据
readall 读取所有数据存储中的数据
readimage 读取指定像素标签数据文件
重置 数据存储重置为初始状态
洗牌 返回版本的数据存储
变换 变换数据存储
子集 创建数据存储或文件集的子集
isPartitionable 确定是否可分区的数据存储
isShuffleable 确定是否shuffleable数据存储

例子

全部折叠

覆盖像素标签图像数据。

设置图像的位置和像素标签数据。

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)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

指定的位置三维体积和像素标签数据。这个数据是一个标记的三维核磁共振成像大脑扫描。

dataDir = fullfile (toolboxdir (“图片”),“imdata”);imDir = fullfile (dataDir,“BrainMRILabeled”,“图片”);pxDir = fullfile (dataDir,“BrainMRILabeled”,“标签”);

指定一个自定义的阅读功能。本例中指定一个函数调用samplePXDSMatReader(定义的例子),从垫图像文件读取三维图像数据。

matReader = @samplePXDSMatReader;

创建一个图像数据存储。

imd = imageDatastore (imDir,“FileExtensions”,“.mat”,“ReadFcn”,matReader);

创建一个数据存储像素标签。

一会= [“水肿”,“nonEnhancingTumor”,“enhancingTumour”];pixelLabelID = (1 2 3);pixelLabelID pxds = pixelLabelDatastore (pxDir,一会,“FileExtensions”,“.mat”,“ReadFcn”,matReader);

阅读量和像素标签数据。l是一个分类矩阵,在哪里L (i, j, k)分类标签分配给吗V (i, j, k)

V =阅读(imd);L =阅读(pxds);

显示标签的类别。

C =类别(L {1})
C =3×1细胞{“水肿”}{‘nonEnhancingTumor} {' enhancingTumour '}

选择可视化nonEnhancingTumor标签。

showLabels = strcmp (C’,“nonEnhancingTumor”);

使用可视化结果viewer3dvolshow功能。显示OverlayAlphamap通过指定的标签名称参数。

查看器= viewer3d(写成BackgroundColor =“白色”BackgroundGradient =“关闭”CameraZoom = 1.2);h = volshow (V, OverlayData ={1},父母=查看器,RenderingStyle =“GradientOpacity”GradientOpacityValue = 0.8,Alphamap = linspace (0, 0.2,256), OverlayAlphamap = [0 showLabels]);

这个例子定义了一个helper函数,samplePXDSMatReader,读3 d图像数据的图像文件。这个函数加载垫文件并返回第一个变量保存在文件。

函数data = samplePXDSMatReader(文件名)输入=负载(文件名);f =字段(输入);=输入的数据。(f {1});结束

提示

  • 一个pixelLabelDatastore将文件存储在辞典编纂的秩序。例如,如果您有十二个文件命名“file1.jpg”,“file2.jpg”、…“file11.jpg”,“file12.jpg”在这个订单,那么文件存储:

    “file1.jpg”“file10.jpg”“file11.jpg”“file12.jpg”“file2.jpg”“file3.jpg”“file9.jpg”

    相比之下,一个imageDatastore存储文件的顺序把它们添加到数据存储中。如果你同时读取一个地面实况图像和像素标签数据,那么您可能会遇到一个图片和标签之间的不匹配。如果发生这种情况,然后重命名像素标签文件,以便他们有正确的顺序。例如,重命名“file1.jpg”、…“file9.jpg”“file01.jpg”、…“file09.jpg”

  • 提取语义分割的数据groundTruth生成的对象贴标签机视频应用,使用pixelLabelTrainingData函数。

版本历史

介绍了R2017b