主要内容

TransformedDatastore

数据存储将底层数据存储

描述

使用一个TransformedDatastore对象转换,或过程,从底层数据存储读取数据。

创建

您可以创建一个TransformedDatastore对象使用变换函数。例如,dsnew =变换(ds1_data、ds2_data…dsN_data @fcn)创建一个数据存储,将一个或多个数据存储ds1_data、ds2_data…dsN_data使用转换函数fcn

属性

全部展开

底层数据存储,作为细胞返回数据存储对象的数组。

指定的转换功能,设置单元阵列的处理函数。

数据类型:细胞

包含的信息函数,指定为一个逻辑向量。为每个值IncludeInfo这是真正的,转换后的数据存储使用替代相应的变换函数的签名transformSet

在一个函数返回的信息中提取数据信息结构体。有关更多信息,请参见功能页面。

数据类型:逻辑

这个属性是只读的。

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

对象的功能

结合 合并来自多个数据存储的数据
hasdata 确定数据可用来读
预览 预览数据存储中数据的子集
在数据存储中读取数据
readall 读取所有数据存储中的数据
writeall 写数据存储文件
重置 数据存储重置为初始状态
变换 变换数据存储
numpartitions 数量的数据存储分区
分区 分区数据存储
洗牌 洗牌在数据存储的所有数据
isPartitionable 确定是否可分区的数据存储
isSubsettable 确定是否subsettable数据存储
isShuffleable 确定是否shuffleable数据存储

例子

全部折叠

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

创建一个ImageDatastore有两个图片。

imd = imageDatastore ({“street1.jpg”,“peppers.png”})
imd = ImageDatastore属性:文件:{"…/猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示/ street1.jpg ';’……/猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab / imagesci /辣椒。png”}文件夹:{' / mathworks /猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示”;' / mathworks /猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab / imagesci '} AlternateFileSystemRoots: {} ReadSize: 1标签:{}SupportedOu金宝apptputFormats: [“png”“jpg”“jpeg”“tif”“tiff”] DefaultOutputFormat:“png”ReadFcn: @readDatastoreImage

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

img1 =阅读(imd);%读取第一个形象img2 =阅读(imd);%读取下一个图像img1img2
类属性名称大小字节img1 480 x640x3 921600 uint8 img2 384 x512x3 589824 uint8

变换中的所有图像数据存储到指定的目标尺寸。

targetSize = [224224];imdsReSz =变换(imd, @ (x) imresize (x, targetSize));

读取图像并显示其大小。

imgReSz1 =阅读(imdsReSz);imgReSz2 =阅读(imdsReSz);谁imgReSz1imgReSz2
类属性名称大小字节imgReSz1 224 x224x3 150528 uint8 imgReSz2 224 x224x3 150528 uint8

显示缩放图像。

tiledlayout (1、2);nexttile imshow (imgReSz1);轴;标题(“调整大小Street1.jpg”)nexttile imshow (imgReSz2);轴;标题(“调整大小peppers.png”)

图包含2轴对象。坐标轴对象1标题大小Street1.jpg包含一个类型的对象的形象。坐标轴对象2标题大小辣椒。png包含一个类型的对象的形象。

创建多个数据存储对象和应用相同的转换所有的数据存储。例如,多个图像组合为一个矩形平铺的图像。

创建一个ImageDatastore用一个形象。

imds1 = imageDatastore ({“ngc6543a.jpg”})
imds1 = ImageDatastore属性:文件:{"…/猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示/ ngc6543a.jpg '}文件夹:{' / mathworks /猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示'}AlternateFileSystemRoots: {} ReadSize: 1标签:{}SupportedOutputFormats: [“png”“jpg”“jpeg”“tif”“tiff”] Def金宝appaultOutputFormat:“png”ReadFcn: @readDatastoreImage

读取图像到工作区中创建一个图像文件从原始图像中每个颜色通道。

rgbImage = imread (“ngc6543a.jpg”);imwrite (rgbImage (:,: 1),“nebula_red.jpg”);imwrite (rgbImage (:,:, 2),“nebula_green.jpg”);imwrite (rgbImage (:: 3),“nebula_blue.jpg”);

创建一个ImageDatastore为每个单通道图像对象。

imdsR = imageDatastore ({“nebula_red.jpg”});imdsG = imageDatastore ({“nebula_green.jpg”});imdsB = imageDatastore ({“nebula_blue.jpg”});

读取图像存储在每个数据存储和显示他们的大小。

imOriginal =阅读(imds1);img_red =阅读(imdsR);img_green =阅读(imdsG);img_blue =阅读(imdsB);谁img1img_redimg_greenimg_blue
类属性名称大小字节img_blue 650 x600 390000 uint8 img_green 650 x600 390000 uint8 img_red 650 x600 390000 uint8

将所有数据存储相结合的图像到一个矩形平铺的图像。将彩色图像转换imds1灰度级,这样的尺寸与其他图像。

tds1 =变换(imds1 imdsR、imdsG imdsB, @ (x1, x2, x3, x4) [rgb2gray (x1)、x2、x3、x4));瓦=阅读(tds1);

平铺的图像显示。

imshow(瓷砖)

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

版本历史

介绍了R2019a