主要内容

imageageAtastore.

图像数据的数据存储

描述

使用一个ImageDatastore对象来管理图像文件集合,其中每个单独的图像适合内存,但整个图像集合不一定适合。你可以创建一个ImageDatastore对象使用imageageAtastore.函数,指定其属性,然后使用对象函数导入和处理数据。

创建

描述

洛桑国际管理发展学院= imageDatastore (地点创建一个数据存储洛桑国际管理发展学院从指定的图像数据集合地点

例子

洛桑国际管理发展学院= imageDatastore (地点名称,值指定附加参数和属性洛桑国际管理发展学院使用一个或多个名称-值对参数。

输入参数

展开全部

数据存储中包含的文件或文件夹,指定为路径或aDsFileSet对象。

  • 路径 - 将路径指定为字符向量,字符向量,字符串标量或字符串数​​组的单元格数组,其中包含本地或远程的文件或文件夹的位置。

    • 本地文件或文件夹-指定地点作为文件或文件夹的本地路径。如果文件不在当前文件夹中,则本地路径必须指定完整路径或相对路径。指定文件夹的子文件夹中的文件不会自动包含在数据存储中。指定本地路径时可以使用通配符*。这个字符指定数据存储包括所有匹配的文件或匹配文件夹中的所有文件。

    • 远程文件或文件夹 - 指定地点作为表单的统一资源定位符(URL)的文件或文件夹的完整路径HDFS:/// path_to_file.有关更多信息,请参见使用远程数据

  • DsFileSet对象 - 您也可以指定地点作为一个DsFileSet对象。有关更多信息,请参见matlab.io.datastore.DsFileSet

什么时候地点表示一个文件夹,数据存储区仅包括支持的文件格式并忽略任何其他格式。万博1manbetx要在数据存储区中指定要包含的文件扩展名的自定义列表,请参阅FileExtensions财产。

imageageAtastore.函数支持有一个文件万博1manbetximformats.格式。

例子:'file1.jpg'

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

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

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

名称-值对的观点

指定可选的逗号分隔对名称,值论点。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按如下顺序指定几个名称和值对参数name1,value1,...,namen,valuen

例子:imd = imageDatastore (C: \ dir \ imagedata, FileExtensions,{“jpg”、“.tif”})

子文件夹包含标志,指定为逗号分隔的配对“IncludeSubfolders”真正的.指定真正的在每个文件夹中包含所有文件和子文件夹或只包含每个文件夹中的文件。

如果不指定“IncludeSubfolders”,则默认值为

例子:'insertumubfolders',真实

数据类型:逻辑|双倍的

映像文件扩展名,以逗号分隔的对指定,由'fileextensions'和字符矢量,字符向量,字符串标量或字符串数​​组的字符矢量。指定的扩展不需要imformats.格式,可以使用空引号''表示没有扩展名的文件。如果不指定'fileextensions',然后imageageAtastore.自动包含所有图像与imformats.指定路径下的扩展名。如果你想包含扩展imformats.不能识别,请指定所有扩展。

例子:'fileextensions','。jpg'

例子:FileExtensions, {jpg, png的}

数据类型:char|细胞|字符串

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

  • 若要将一组彼此等价的根路径关联起来,请指定“AlternateFileSystemRoots”作为一个字符串向量。例如,

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

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

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

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

    • 另外,指定“AlternateFileSystemRoots”作为单元数组的单元数组的字符向量。

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

的价值“AlternateFileSystemRoots”必须满足这些条件:

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

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

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

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

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

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

数据类型:字符串|细胞

提供标签数据的源,指定为逗号分隔的对,由“LabelSource”“没有”“foldernames”.如果“没有”指定,那么标签属性是空的。如果“foldernames”指定,然后根据文件夹名称分配标签并存储在标签财产。属性可以在以后修改标签标签property直接。

数据类型:char|字符串

除了这些名称-值对之外,您还可以将此页面上的任何属性指定为名称-值对,除了文件财产。

属性

展开全部

ImageDatastore属性描述数据并指定如何从数据存储中读取数据。可以指定的值ImageDatastore属性在创建数据存储对象时使用名称-值对参数。要在创建对象后查看或修改属性,请使用点表示法。

例如,可以创建ImageDatastore对象,并指定“ReadFcn”参数:

imd = imageDatastore ('peppers.png'“ReadFcn”, @customreader);
或者,您可以分配“ReadFcn”@customreader创建ImageDatastore
imd = imageDatastore ('peppers.png');imds.readfcn = @customreader;

数据存储中包含的文件,解析为字符向量、字符向量的单元数组、字符串标量或字符串数组。每个字符向量或字符串都是文件的完整路径。的地点论点的imageageAtastore.数据存储功能定义文件创建数据存储时。

例子:{“C: \ dir \ data \ file1.jpg”;“C: \ dir \ data \ file2.jpg”}

数据类型:char|细胞|字符串

此属性是只读的。

用于构造数据存储的文件夹,作为字符向量的单元数组返回。单元格阵列定向为列向量。每个字符向量都是指向包含数据文件的文件夹的路径。的地点论点的imageageAtastore.数据存储功能定义文件夹创建数据存储时。

数据类型:细胞

调用中要读取的图像文件的数目函数,指定为正整数标量。每次呼唤到功能最多读取ReadSize图像。

数据存储中文件的文件标签,指定为向量,单元格数组或字符串数​​组。阵列中标签的顺序对应于数据存储区中关联文件的顺序。如果您指定“LabelSource”、“foldernames”在创建ImageDatastore对象,然后文件的标签名称是包含它的文件夹的名称。如果不指定“LabelSource”、“foldernames”,然后标签是一个空的单元格数组或字符串数​​组。如果你改变了文件属性后,则标签属性不会自动更新以合并所添加的文件。

数据类型:分类|细胞|逻辑|双倍的||字符串

读取图像数据的函数,指定为函数句柄。该函数必须以图像文件名作为输入,然后输出相应的图像数据。例如,如果customreader是指定的读取图像数据的函数,那么它必须有一个类似这样的签名:

函数数据= customreader(文件名)…结束
如果存在多个输出参数,则imageageAtastore.仅使用第一个参数并忽略其余的。

请注意

使用ReadFcn不推荐转换或预处理2-D图像。出于识别的文件格式imformats.,指定ReadFcn慢下来的表现imageageAtastore..有关转换和预处理图像的更有效方法,请参见为深度学习预处理图像(深度学习工具箱)

例子:@customreader

数据类型:function_handle

此属性是只读的。

支持的写入格式列表,作为字符串的万博1manbetx行向量返回。此属性指定使用时可能的输出格式writeall从数据存储中写入输出文件。

数据类型:字符串

此属性是只读的。

默认输出格式,作为字符串标量返回。此属性指定使用时的默认格式writeall从数据存储中写入输出文件。

数据类型:字符串

对象的功能

countEachLabel 计算IMAGEDATASTORE标签中的文件
hasdata 确定数据是否可用来读取
numpartitions 数据存储区分区数量
分区 分区数据存储
预览 预览数据存储中的数据子集
读取数据存储中的数据
readall 读取数据存储中的所有数据
阅读贴图 从数据存储读取指定的图像
writeall 将数据存储写入文件
重启 将数据存储重置为初始状态
洗牌 洗牌数据存储中的所有数据
splitEachLabel 按比例分割ImageDatastore标签
子集 创建数据存储或文件集的子集
变换 变换数据存储
结合 组合来自多个数据存储的数据
isPartitionable 确定数据存储是否已分配
isShuffleable 确定数据存储是否可打乱

例子

全部折叠

创建一个ImageDatastore对象与所有.tifMATLAB®路径及其子文件夹中的文件。使用文件夹名作为标签名。

imds = imagedataStore(fullfile(matlabroot,“工具箱”matlab的),...“IncludeSubfolders”,真的,'fileextensions'“.tif”“LabelSource”“foldernames”
文件:{'…\matlab\工具箱\matlab\演示\example.tif';`…\matlab\工具箱\matlab\imagesci\corn.tif'}标签:[演示;ReadFcn: @readDatastoreImage

创建一个ImageDatastore对象包含四幅图像,并预览第一幅图像。

imds = imageageatastore({'Street1.jpg'“street2.jpg”'peppers.png'“corn.tif”})
imds = ImageDatastore与属性:文件:{'…\matlab\工具箱\matlab演示\街道1.jpg';’……\ matlab \ matlab工具箱\ \ demo \ street2.jpg”;matlab’……\ \ matlab工具箱\ \ imagesci \ peppers.png”……and 1 more} ReadSize: 1标签:{}ReadFcn: @readDatastoreImage
imshow(预览(IMDS));

一次只读第二个和第三张图像。

I = 2:3 img = readimage(imds, I);结束

阅读所有四个图像并查看第三个图像。

imgs = Readall(IMDS);imshow(imgs {3})

限制

  • 使用ReadFcn不推荐转换或预处理2-D图像。出于识别的文件格式imformats.,指定ReadFcn慢下来的表现imageageAtastore..有关转换和预处理图像的更有效方法,请参见为深度学习预处理图像(深度学习工具箱)

介绍了R2015b