PixellabeldAtastore.

像素标签数据的数据存储

描述

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

将像素标号数据从PixelLabelDatastore, 使用函数。此函数返回一个类别数组,其中包含分配给每个(一世j)像素位置或(一世jK.)体素位置。

创建

创建一个PixelLabelDatastore对象使用PixellabeldAtastore.这里描述的函数。一旦创建了对象,就可以使用访问和管理数据的函数。可以使用点符号来修改阅读ReadFcn特性。

描述

例子

pxds = pixelLabelDatastore (GTRUTH.创造一个PixelLabelDatastore来自A的对象地面对象或一系列地面对象。

pxds = pixelLabelDatastore (地点Classnames.pixelLabelIDs创造一个PixelLabelDatastore从存储像素标签数据的图像文件中的对象,在指定的文件夹或文件中地点.该函数使用像素id创建对象,像素id将图像像素标签值映射到类名。

pxds = pixelLabelDatastore (___,名称,价值)创造一个PixelLabelDatastore对象使用名称-值对参数来设置一个或两个阅读lexeryfilesystemroots.特性。对于图像文件输入,您还可以使用名称值对参数来设置ReadFcn财产或指定选项关于文件要包含在数据存储中。您可以指定多个名称值对。将每个属性名称括在引号中。

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

输入参数

展开全部

地面真实数据,指定为地面对象或数组地面对象。每个地面对象包含有关数据源、标签定义列表以及一组基础真值标签的所有已标记标签的信息。

文件夹或图像文件名称,指定为字符向量,字符串数组或字符向量阵列。图像必须包含uint8数据。

地点 描述
字符矢量,字符串数组 文件夹的名称。指定文件夹的子文件夹中的文件不会自动包含在数据存储区中。数据存储区仅包含具有支持的文件格式的图像,并忽略任何其他格式。万博1manbetx通过使用使用“支持支持的文件万博1manbetx格式列表”imformats.函数。
字符向量的单元格阵列 多个图像的文件名。

PixellabeldAtastore.展开文件名并存储完整的文件路径文件财产。

指定时,您可以使用通配符(*)地点.此字符表示匹配文件夹中的所有匹配文件或所有文件都包含在数据存储中。

如果文件不在当前文件夹中,则必须包含完整或相对路径。

如果文件在本地不可用,则文件或文件夹的完整路径必须是国际化资源标识符(IRI),例如hdfs: / /主机名portnumber/path_to_file..有关使用A的信息数据存储使用Amazon S3™和HDFS™,参见使用远程数据(MATLAB)。

例子:'file1.jpg'

例子:'../dir/data/file1.png'

例子:{'c:\ dir \ data \ file1.tif','c:\ dir \ data \ file2.tif'}

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

数据类型:char|细胞

类名,指定为字符串或字符向量的单元格数组。PixellabeldAtastore.将名称转换为单元格数组并将名称存储在Classnames.财产。

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

将像素标签映射到的IDClassnames.,指定为向量m- × 3矩阵,列向量的单元格数组,或的单元格数组m-By-3矩阵。值必须是范围的整数[0,255]。m-By-3仅支持RGB图像的矩阵。万博1manbetx

格式 描述
向量 矢量的长度必须等于类名的数量。值必须是唯一的。
m-By-3矩阵 m对应于类名的数量。每行包含一个3元素向量,表示与每个类名相关联的RGB像素值。向量必须是唯一的。使用这种格式的像素标签数据存储为RGB图像。

柱载体的单元阵列

单元阵列的m3矩阵

使用单元格数组将多个像素标签id映射到一个类名。

名称-值对的观点

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'insertumubfolders',真实

包括子文件夹,指定为逗号分隔对,由“IncludeSubfolders”错误的0.), 或者真正的1)。指定真正的包括每个文件夹中的所有文件和子文件夹或错误的只包含每个文件夹中的文件。

包括upfolders.指定地面真实数据时不支持参数万博1manbetxGTRUTH.

要包含在数据存储中的文件的文件扩展名,指定为逗号分隔对,由'fileextensions'和字符矢量,字符向量,字符串标量或字符串数​​组的字符矢量。默认情况下,数据存储区包含包含所有扩展的文件万博1manbetximformats.函数。

过滤义指定地面真实数据时不支持参数万博1manbetxGTRUTH.

例子:[“PNG”“GIF”“BMP”]

特性

展开全部

此属性是只读的。

数据存储中包含的文件,指定为字符向量或字符向量的单元数组。每个字符矢量都是文件的完整路径。当你创造一个PixelLabelDatastore对象,使用地点参数设置此属性。

此属性是只读的。

类名称,指定为字符向量的单元数组。

每个呼叫中​​读取的最大图像文件数函数,指定为正整数。

备用文件系统根路径,指定为逗号分隔对组成'alternedfilesystemroots'和字符串矢量或单元格数组。用'alternedfilesystemroots'当您在本地机器上创建数据存储,但需要访问和处理另一台机器(可能是不同的操作系统)上的数据时。此外,当使用Parallel Computing Toolbox™和马铃薯®并行服务器™,数据存储在本地计算机上,使用不同平台云或群集计算机上可用的数据副本,您必须使用'alternedfilesystemroots'要关联根路径。

  • 要关联一组等同于彼此的根路径,请指定'alternedfilesystemroots'作为串矢量。例如,

    [“z:\ datasets”,“/ mynetwork / datasets”]

  • 要关联多组等同于数据存储的根路径,请指定'alternedfilesystemroots'作为包含多行的单元数组,其中每行代表一组等效根路径。将单元格数组中的每一行指定为字符串向量或字符向量的小区数组。例如:

    • 指定'alternedfilesystemroots'作为串向量的单元阵列。

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

    • 或者,指定'alternedfilesystemroots'作为字符向量的单元数组的单元数组。

      {{'z:\ datasets','/ mynetwork / datasets'}; ... {'y:\ datasets','/ mynetwork2 / datasets','s:\ datasets'}}

的价值'alternedfilesystemroots'必须满足这些条件:

  • 包含一个或多个行,其中每行指定一组等效根路径。

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

  • 根路径是唯一的,并且不是彼此的子文件夹。

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

有关更多信息,请参阅设置数据存储,用于处理不同的机器或群集(MATLAB)。

例子:[“z:\ datasets”,“/ mynetwork / datasets”]

数据类型:细绳|细胞

读取像素标记的图像数据的功能,指定为函数句柄。自定义读取功能必须将图像文件名作为输入拍摄,然后将标记数据的相应像素作为分类矩阵,逻辑矩阵或数据类型的数字矩阵输出uint8.例如,如果CustomReader.是指定的读取图像数据的函数,则它必须具有如下类似的签名:

函数c = customReader(文件名)...结尾
如果读取函数具有多个输出参数,则仅使用第一个输出参数。其余的被忽略了。

ReadFcn属性在指定地面真值数据时不受支持万博1manbetxGTRUTH.

例子:@CustomReader.

对象功能

结合 将数据与多个数据存储组合
countEachLabel 计数像素或盒标签的出现次数
哈迪塔 确定数据是否可用于从数据存储读取
numpartitions 数据存储的分区数量
分区 将标签数据存储分区
预览 在数据存储区中读取第一行数据
从数据存储中读取数据
读物 读取数据存储中的所有数据
阅读贴图 读取指定的像素标签数据文件
重启 将数据存储重置为初始状态
洗牌 返回DataStore的Shuffled版本
变换 转换数据存储
子集 创建数据存储或文件集的子集
isPartitionable 确定数据存储是否已分配
isShufflable. 确定数据存储是否会破坏

例子

全部收缩

覆盖图像上的像素标签数据。

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

datadir = fullfile(toolboxdir('想象'),“visiondata”);imdir = fullfile(datadir,'建筑');pxdir = fullfile(datadir,'buildingpixellabels');

创建图像数据存储。

IMDS = imageageAtastore(IMDIR);

创建像素标签数据存储。

一会= [“天空”“草”“建筑”“人行道”];Pixellabelid = [1 2 3 4];pxds = pixellabeldataStore(PXDIR,ClassNames,Pixellabelid);

读取图像和像素标签数据。读(PXDS)返回一个分类矩阵,C.元素c(一世j)在矩阵中,分配给位置L处的像素的分类标签(一世j)。

我=读(imd);C =阅读(pxds);

显示标签类别C

类别(C {1})
ans =.4x1细胞{'sky'} {'grass'} {'building'} {'sidewalk'}

覆盖并显示像素标签数据到图像上。

b = labeloverlay(i,c {1});图imshow(b)

指定3-D卷和像素标签数据的位置。该数据是大脑的标记为3-D MRI扫描。

datadir = fullfile(toolboxdir('图片'),'imdata');imdir = fullfile(datadir,'Brainmrilabeled''图片');pxdir = fullfile(datadir,'Brainmrilabeled'“标签”);

指定自定义readfcn。此示例指定调用的函数samplepxdsmatreader.(在示例的末尾定义)读取来自.mat图像文件的3-d图像数据。

matReader = @samplePXDSMatReader;

创建图像数据存储。

imd = imageDatastore (imDir,'fileextensions'“.mat”'readfcn', matReader);

创建像素标签数据存储。

一会= [“浮肿”“nonenhandingtumor”“enhancingTumour”];Pixellabelid = [1 2 3];pxds = pixellabeldataStore(pxdir,clussnames,pixellabelid,'fileextensions'“.mat”'readfcn', matReader);

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

v =读(IMDS);l =读取(PXD);

显示标签类别。

类别(L {1})
ans =.3×1个细胞{'水肿'}{' nonenhingtumor '} {' enhingtumor '}

可视化结果labelvolshow

h = labelvolshow(l {1},v);

此示例定义了帮助函数,samplepxdsmatreader.,从图像文件中读取3-D图像数据。此函数加载.mat文件并返回保存在该文件中的第一个变量。

函数data = samplePXDSMatReader(filename) inp = load(filename);f =字段(输入);=输入的数据。(f {1});结尾

提示

  • 一种PixellabeldAtastore.以词典订单存储文件。例如,如果您有12个文件名为'file1.jpg'“file2.jpg”、……'file11.jpg',“file12.jpg”,则文件按以下顺序存储:

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

    相比之下,一个imageageAtastore.按顺序存储文件,它们被添加到数据存储区。如果您同时读取地面真相和像素标签数据,则可能会在图像和标签之间遇到不匹配。如果发生这种情况,请重命名像素标签文件,以便它们具有正确的顺序。例如,重命名'file1.jpg'、……'file9.jpg''file01.jpg',......,'file09.jpg'

  • 从a中提取语义分段数据地面由此产生的对象视频贴图应用程序,使用PixellabeltrainingData.函数。

在R2017B中介绍