本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

TransformedDatastore

用于转换基础数据存储的数据存储

说明

使用一个 TransformedDatastore 对象转换或处理从基础数据存储中读取的数据。

创建对象

您可以使用 transform 函数创建 TransformedDatastore 对象。例如,dsnew = transform(ds,@fcn) 会创建一个数据存储,该数据存储使用转换函数 fcn ds 来转换数据存储。

属性

全部展开

基础数据存储,指定为数据存储对象。

转换函数集,指定为函数句柄元胞数组。

数据类型: cell

包括来自 read 函数的信息,指定为逻辑向量。对于 IncludeInfotrue 的每个值,转换后的数据存储使用 transformSet 中对应转换函数的替代签名。

read 函数以 info 结构体形式返回有关所提取数据的信息。有关详细信息,请参阅 read 函数页。

数据类型: logical

对象函数

combine合并来自多个数据存储的数据
hasdata确定是否有数据可读取
preview数据存储中的数据子集
read读取数据存储中的数据
readall读取数据存储中的所有数据
reset将数据存储重置为初始状态
transform转换数据存储

示例

全部折叠

为图像集合创建一个数据存储,并对数据存储中的所有图像应用相同的转换。例如,将集合中的所有图像调整到指定的目标大小。

创建一个包含两个图像的 ImageDatastore

imds = imageDatastore({'street1.jpg','peppers.png'})
imds = 
  ImageDatastore with properties:

                       Files: {
                              ' .../devel/bat/Bdoc19b/build/matlab/toolbox/matlab/demos/street1.jpg';
                              ' .../devel/bat/Bdoc19b/build/matlab/toolbox/matlab/imagesci/peppers.png'
                              }
    AlternateFileSystemRoots: {}
                    ReadSize: 1
                      Labels: {}
                     ReadFcn: @readDatastoreImage

读取所有图像。请注意,该数据存储包含不同大小的图像。

img1 = read(imds); % reads the first image
img2 = read(imds); % reads the next image
whos img1 img2
  Name        Size                Bytes  Class    Attributes

  img1      480x640x3            921600  uint8              
  img2      384x512x3            589824  uint8              

将数据存储中的所有图像转换为指定的目标大小。

targetSize = [224,224];
imdsReSz = transform(imds,@(x) imresize(x,targetSize));

读取图像并显示其大小。

imgReSz1 = read(imdsReSz);
imgReSz2 = read(imdsReSz);
whos imgReSz1 imgReSz2
  Name            Size                Bytes  Class    Attributes

  imgReSz1      224x224x3            150528  uint8              
  imgReSz2      224x224x3            150528  uint8              

显示调整大小后的图像。

subplot(121); imshow(imgReSz1); axis on; title('Resized Street1.jpg');
subplot(122); imshow(imgReSz2); axis on; title('Resized peppers.png');

在 R2019a 中推出