变换
描述
将一个或多个输入数据存储使用转换函数dsnew
=变换(ds1, ds2,…, dsN
,@fcn
)fcn
并返回转换后的数据存储dsnew
。fcn
可以放置所有输入的数据存储在之前或之后调用吗变换
函数。
使用另一个变换函数的定义dsnew
=变换(ds1, ds2,…, dsN
,@fcn
“IncludeInfo”,IncludeInfo
)fcn
。选择定义允许您使用返回的附加信息读
数据存储的功能。
例子
转换应用到图像的集合
为一组创建一个数据存储图像和应用相同的转换所有的图像数据存储。例如,调整到指定的集合中的所有图像目标的大小。
创建一个ImageDatastore
有两个图片。
imd = imageDatastore ({“street1.jpg”,“peppers.png”})
imd = ImageDatastore属性:文件:{"…/猛击/棒/ Bdoc23a /构建/ matlab工具箱/ matlab /演示/ street1.jpg ';’……/猛击/棒/ Bdoc23a /构建/ matlab工具箱/ matlab / imagesci /辣椒。png”}文件夹:{' / mathworks /猛击/棒/ Bdoc23a /构建/ matlab工具箱/ matlab /演示”;' / mathworks /猛击/棒/ Bdoc23a /构建/ 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”)
将多个数据存储
创建多个数据存储对象和应用相同的转换所有的数据存储。例如,多个图像组合为一个矩形平铺的图像。
创建一个ImageDatastore
用一个形象。
imds1 = imageDatastore ({“ngc6543a.jpg”})
imds1 = ImageDatastore属性:文件:{"…/猛击/棒/ Bdoc23a /构建/ matlab工具箱/ matlab /演示/ ngc6543a.jpg '}文件夹:{' / mathworks /猛击/棒/ Bdoc23a /构建/ 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(瓷砖)
输入参数
ds1, ds2,…, dsN
- - - - - -输入数据存储
数据存储对象
输入数据存储。内置的数据存储的完整列表,请参阅选择数据存储文件格式或应用程序。你也可以指定一个自定义数据存储。
@fcn
- - - - - -函数转换数据
函数处理
函数变换数据,指定为一个函数处理。函数的数据作为输入,并返回转换后的数据,基于定义的转换fcn
。
必须有这个签名和变换函数ds1_data、ds2_data…dsN_data
必须是相同的形式返回的数据通过使用吗读
函数。
函数dataOut = transformFcn (ds1_data ds2_data,…dsN_data)。。结束
或者,您可以定义您的变换函数fcn
使用关于返回的数据的附加信息读
函数。要使用这个替代定义,您必须指定的值IncludeInfo
是真正的
。在这种情况下,转换函数必须有这个签名。
函数[dataOut, infoOut] = transformFcn (ds1_data ds2_data,…dsN_data、ds1_info ds2_info…dsN_info)。。结束
例子:@transformFcn
数据类型:function_handle
IncludeInfo
- - - - - -包含的信息读
函数
真正的
|假
包含的信息读
函数,指定为真正的
或假
。的读
在一个函数返回的信息中提取数据信息
结构体。有关更多信息,请参见读
功能页面。
当你设置的值IncludeInfo
来真正的
,您必须使用另一种签名为你变换函数fcn
。
输出参数
dsnew
——新数据存储与转换数据
TransformedDatastore
对象
新的数据存储与转换数据,作为一个返回TransformedDatastore
对象。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
使用笔记和限制:
在一个线程环境,您可以使用
变换
只有以下数据存储:ImageDatastore
对象CombinedDatastore
,SequentialDatastore
,或TransformedDatastore
对象在创建的ImageDatastore
通过使用对象结合
或变换
您可以使用
变换
与其他数据存储并行计算工具箱™。这样做,使用process-backed函数运行并行池而不是使用backgroundPool
或ThreadPool
(使用ProcessPool
或ClusterPool
)。
有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2019a
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。