主要内容

imageDatastore

数据存储的图像数据

描述

使用一个ImageDatastore对象来管理图像文件的集合,其中每个个体形象适合在内存中,但是整个不一定适合的图像集合。您可以创建一个ImageDatastore对象使用imageDatastore函数,指定它的属性,然后导入使用对象和过程数据的功能。

创建

描述

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

例子

洛桑国际管理发展学院= imageDatastore (位置,名称,值)指定额外的参数和属性洛桑国际管理发展学院使用一个或多个名称-值对参数。

输入参数

全部展开

文件或文件夹包括在数据存储中,指定为一个文件集对象,如文件路径,或者作为一个DsFileSet对象。

  • 文件集对象,您可以指定位置作为一个文件集对象。作为一个指定位置文件集数据存储对象会导致更快的建设时间相比,或指定一个路径DsFileSet对象。有关更多信息,请参见matlab.io.datastore.FileSet

  • 文件路径,您可以指定一个文件路径作为特征向量或字符串标量。您可以指定多个文件路径作为一个单元阵列特征向量或一个字符串数组。

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

文件或文件夹可能是本地或远程:

  • 本地文件或文件夹-指定本地文件或文件夹路径。如果文件不在当前文件夹,然后指定完整或相对路径。指定文件夹的子文件夹内文件不会自动包含在数据存储中。您可以使用通配符(*)时指定的本地路径。这个角色指定数据存储包括所有匹配的文件或匹配所有文件文件夹。

  • 远程文件或文件夹-指定完整路径远程文件或文件夹作为一个统一资源定位符(URL)的形式hdfs: / / /path_to_file。有关更多信息,请参见使用远程数据

指定一个文件夹时,数据存储只包含文件支持的文件格式和忽略任何其他格式的文件。金宝app指定一个自定义列表的文件扩展名,包括数据存储,看到FileExtensions财产。

imageDatastore有一个函数支持文件金宝appimformats格式。

例子:“file1.jpg”

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

例子:[" C: \ dir \ data \ file1.tif”,“C: \ dir \ data \ file2.tif”)

例子:“C: \ dir \ \ * . jpg”数据

名称-值参数

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

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

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

子文件夹包含标志,指定为名称参数组成的“IncludeSubfolders”真正的。指定真正的包括每个文件夹内的所有文件和子文件夹只包括每个文件夹内的文件。

如果你不指定“IncludeSubfolders”,那么默认值是

例子:“IncludeSubfolders”,真的

数据类型:逻辑|

图像文件扩展名,指定为逗号分隔组成的“FileExtensions”一个特征向量,单元阵列特征向量,标量字符串或字符串数组。不需要一个指定的扩展imformats格式,您可以使用空引用”“代表文件没有扩展。如果你不指定“FileExtensions”,然后imageDatastore自动包含所有图片imformats在指定的路径扩展。如果你想要包括的扩展imformats不承认,然后指定所有扩展。

例子:“FileExtensions”、“jpg”

例子:“FileExtensions”(jpg, png”)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据类型:字符串|细胞

提供标签数据来源,指定为名称参数组成的“LabelSource”,要么“没有”“foldernames”。如果“没有”是指定的,那么标签属性是空的。如果“foldernames”是指定的,那么标签分配根据文件夹名称和存储在吗标签财产。你可以通过访问后修改标签标签直接的财产。

“LabelSource”名称-值参数并不可用,如果一个文件集对象用作文件或文件夹的位置。

数据类型:字符|字符串

除了这些名称-值对,你也可以在这个页面指定的任何属性名称-值对,除了文件财产。

属性

全部展开

ImageDatastore属性描述数据并指定如何从数据库读取数据。您可以指定的值ImageDatastore属性创建数据存储对象时使用的名称参数。查看或修改属性在创建对象时,使用点符号。

例如,您可以创建一个ImageDatastore对象和指定“ReadFcn”参数:

imd = imageDatastore (“peppers.png”,“ReadFcn”,@customreader);
或者,你可以分配“ReadFcn”@customreader在您创建的ImageDatastore:
imd = imageDatastore (“peppers.png”);洛桑国际管理发展学院。ReadFcn = @customreader;

文件包含在数据存储、解析为特征向量,单元阵列的特征向量,标量字符串或字符串数组。向量的每个字符或字符串是一个文件的完整路径。的位置论点的imageDatastore数据存储函数定义文件创建数据存储时。

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

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

这个属性是只读的。

用于构建数据存储文件夹,作为特征向量的单元阵列返回。单元阵列是面向一个列向量。每个字符向量是通往一个文件夹,其中包含的数据文件。的位置论点的imageDatastore数据存储函数定义文件夹创建数据存储时。

数据类型:细胞

数量的图像文件读取调用函数,指定为一个正整数标量。每一个调用函数读取最多ReadSize图像。

数据存储文件标签的文件,指定为一个向量,细胞数组,数组或字符串。标签的顺序数组中对应订单相关文件的数据存储。如果您指定“LabelSource”、“foldernames”在创建ImageDatastore为一个文件对象,然后标签名称包含它的文件夹的名称。如果你不指定“LabelSource”、“foldernames”,然后标签细胞是一个空数组或字符串数组。如果你改变文件属性创建了数据存储之后,那么标签属性是不会自动更新将添加的文件。

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

函数读取图像数据,指定为一个函数处理。函数必须采取一个图像文件名称作为输入,然后输出相应的图像数据。例如,如果customreader是指定的函数来读取图像数据,那么它必须有一个类似的签名:

函数数据= customreader(文件名)……结束
如果存在多个输出参数imageDatastore只使用第一个参数,忽略了休息。

请注意

使用ReadFcn将不推荐或预处理二维图像。文件格式被imformats,指定ReadFcn降低的表现imageDatastore。更有效的方法来转换和预处理图像,明白了预处理图像深度学习(深度学习工具箱)

例子:@customreader

数据类型:function_handle

这个属性是只读的。

写作的格式支持列表,返回一个行向金宝app量的字符串。这个属性指定了使用时可能的输出格式writeall写输出文件的数据存储。

数据类型:字符串

这个属性是只读的。

默认输出格式,作为字符串返回标量。当使用这个属性指定了默认格式writeall写输出文件的数据存储。

数据类型:字符串

对象的功能

countEachLabel 计算文件ImageDatastore标签
hasdata 确定数据可用来读
numpartitions 数量的数据存储分区
分区 分区数据存储
预览 预览数据存储中数据的子集
在数据存储中读取数据
readall 读取所有数据存储中的数据
readimage 从数据存储读取指定的图像
writeall 写数据存储文件
重置 数据存储重置为初始状态
洗牌 洗牌在数据存储的所有数据
splitEachLabel 通过比例分割ImageDatastore标签
子集 创建数据存储或文件集的子集
变换 变换数据存储
结合 合并来自多个数据存储的数据
isPartitionable 确定是否可分区的数据存储
isShuffleable 确定是否shuffleable数据存储

例子

全部折叠

创建一个ImageDatastore与所有相关对象.tif在MATLAB®文件路径和它的子文件夹。使用文件夹名称的标签名称。

imd = imageDatastore (fullfile (matlabroot“工具箱”,“matlab”),“IncludeSubfolders”,真的,“FileExtensions”,“.tif”,“LabelSource”,“foldernames”)
imd =ImageDatastore属性:文件:{“…\ matlab \ matlab工具箱\ \ demo \ example.tif”;matlab’……\ \ matlab工具箱\ \ imagesci \玉米。tif’}文件夹:{”……\ matlab工具箱\ \ matlab}标签:[演示;imagesci] AlternateFileSystemRoots: {} ReadSize: 1 金宝appSupportedOutputFormats: [“png”“jpg”“jpeg”“tif”“tiff”] DefaultOutputFormat:“png”ReadFcn: @readDatastoreImage

创建一个文件集对象包含四个图像。创建一个ImageDatastore对象。

fs = matlab.io.datastore.FileSet ([“street1.jpg”,“street2.jpg”,“peppers.png”,“corn.tif”])
fs =文件集的属性:NumFiles: 4 NumFilesRead: 0 FileInfo:显示所有文件4 FileInfo AlternateFileSystemRoots: {}
imd = imageDatastore (fs)
imd =ImageDatastore属性:文件:{“…\ matlab \ matlab工具箱\ \ demo \ street1.jpg”;’……\ matlab \ matlab工具箱\ \ demo \ street2.jpg”;matlab’……\ \ matlab工具箱\ \ imagesci \辣椒。png”……和1}文件夹:{“……\ matlab \ matlab工具箱\ \演示;“…matlab \ matlab工具箱\ \ \ imagesci”} AlternateFileSystemRoots: {} ReadSize: 1标签:{}Support金宝appedOutputFormats: [“png”“jpg”“jpeg”“tif”“tiff”] DefaultOutputFormat:“png”ReadFcn: @readDatastoreImage

预览第一形象。

imshow(预览(imd));

只读第二个和第三个图片,一次一个。

我= 2:3 img = readimage (imd,我);结束

阅读所有四个图像和视图第三形象。

一个= readall (imd);imshow(一个{3})

限制

  • 使用ReadFcn将不推荐或预处理二维图像。文件格式被imformats,指定ReadFcn降低的表现imageDatastore。更有效的方法来转换和预处理图像,明白了预处理图像深度学习(深度学习工具箱)

扩展功能

版本历史

介绍了R2015b