readall
读取数据存储中的所有数据
说明
示例
读取 ImageDatastore 中的所有数据
创建一个包含四个图像的 ImageDatastore
对象。
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
读取数据存储中的所有数据。
T = readall(imds);
检查输出。
imout = imtile(T); imshow(imout)
并行读取 TabularTextDatastore 中的所有数据
根据示例文件 airlinesmall_subset.csv
(包含表格数据)创建一个数据存储。
ds = tabularTextDatastore("airlinesmall_subset.csv",TreatAsMissing="NA");
使用 SelectedVariableNames
属性指定感兴趣的变量。
ds.SelectedVariableNames = ["DepTime","ArrTime","ActualElapsedTime"];
并行读取数据存储中的所有数据。
T = readall(ds,UseParallel=true);
readall
返回表中的所有数据。
查看有关表的信息。输出中只包含所选变量。
T.Properties
ans = TableProperties with properties: Description: '' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'DepTime' 'ArrTime' 'ActualElapsedTime'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
读取合并的数据存储中的所有数据
创建一个数据存储,用于维护基础数据存储的图像对之间的奇偶校验。例如,创建两个单独的图像数据存储,然后创建一个表示这两个基础数据存储的合并数据存储。
创建一个表示三个图像的集合的图像数据存储 imds1
。
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
通过将 imds1
的图像变换为灰度再减小图像大小,创建第二个数据存储 imds2
。
imds2 = transform(imds1,@(x) imresize(im2gray(x),0.5));
基于 imds1
和 imds2
创建一个合并数据存储。
imdsCombined = combine(imds1,imds2);
从合并数据存储中读取所有数据。输出是一个 3×2 元胞数组。两列表示分别从两个基础数据存储 imds1
和 imds2
读取的所有数据。
dataOut = readall(imdsCombined)
dataOut=3×2 cell array
{480x640x3 uint8} {240x320 uint8}
{480x640x3 uint8} {240x320 uint8}
{384x512x3 uint8} {192x256 uint8}
输入参数
ds
— 输入数据存储
数据存储
输入数据存储。您可以将这些数据存储用作 readall
方法的输入。
MATLAB® 数据存储 - 使用 MATLAB
datastore
函数创建的数据存储。例如,使用ImageDatastore
为图像集合创建一个数据存储。有关完整的数据存储列表,请参阅Select Datastore for File Format or Application。自定义数据存储 - 使用自定义数据存储框架创建的数据存储。请参阅Develop Custom Datastore。
tf
— 并行读取
false(默认值) | true
并行读取,指定为 true
或 false
。如果指定 true
,则 readall
并行读取数据存储中的所有数据(需要 Parallel Computing Toolbox)。并行读取可以提高读取数据(尤其是远程数据)的性能。
例如:readall(ds,UseParallel=true)
输出参量
data
— 数据存储中的所有数据
表 | 元胞数组
数据存储中的所有数据,以表或元胞数组形式返回,具体取决于 ds
的类型。
数据存储类型 | data 的数据类型 | 描述 |
---|---|---|
TabularTextDatastore 和 SpreadsheetDatastore | 表 | SelectedVariableNames 属性确定表的变量。 |
ImageDatastore | 元胞数组 | 元胞数组中的每个元素都包含一个图像的图像数据。readall 函数支持 imread 函数所支持的所有图像类型。有关支持的图像类型的详细信息,请参阅 imread 。 |
KeyValueDatastore | 表 | 表变量名称是 Key 和 Value 。 |
FileDatastore | 元胞数组 | 元胞数组中的每个元素都包含使用 ReadFcn 属性指定的自定义读取函数从一个文件中读取的数据。 |
TransformedDatastore | 取决于输入数据存储和变换函数 | TransformedDatastore 从基础数据存储中读取数据,调用关联的变换函数,并垂直串联数据。如果您的数据存储并不均匀,并且您需要基础数据存储数据垂直串联,请用花括号将变换函数输出括起来。 |
CombinedDatastore | 取决于输入数据存储 | 如果基础数据存储是均匀的,则其数据会与所有其他数据存储的数据合并(水平串联),而不会进行修改。 如果基础数据存储并不均匀,则其数据在与所有其他数据存储的数据组合(水平串联)之前包装在一个单元中。 |
SequentialDatastore | 取决于输入数据存储 | 输出是来自基础数据存储的所有数据的垂直串联结果。 如果所有基础数据存储都为空,则输出基于第一个基础数据存储的空类型。如果没有基础数据存储,则输出为空的双精度值。 如果基础数据存储是均匀的,则其数据会与所有其他数据存储的数据合并,而不会进行修改。 如果基础数据存储并不均匀,则其数据在与所有其他数据存储的数据组合之前包装在一个单元中。 |
扩展功能
自动并行支持
通过使用 Parallel Computing Toolbox™ 自动运行并行计算来加快代码执行。
用法说明和限制:
要并行运行,请将
UseParallel
选项设置为true
。
有关详细信息,请参阅Run MATLAB Functions with Automatic Parallel Support (Parallel Computing Toolbox)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
用法说明和限制:
在基于线程的环境中,您只能对以下数据存储使用
readall
:ImageDatastore
对象使用
combine
或transform
从ImageDatastore
对象创建的CombinedDatastore
、SequentialDatastore
或TransformedDatastore
对象
如果您有 Parallel Computing Toolbox,则可以对其他数据存储使用
readall
。为此,请使用基于进程的并行池运行该函数,而不是使用backgroundPool
或ThreadPool
(使用ProcessPool
或ClusterPool
)。readall
在基于线程的环境中不支持以下图像格式:分层数据格式 (HDF)
SVS
TIFF
有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2014b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)