这是所需的工作流程:
- 我想将 100 张图像加载到 MATLAB 工作区
- 在图像上运行一堆我的代码
- 将我的输出(我的代码返回的输出是一个整数数组)保存在一个新数组中
最后,我应该有一个数据结构来存储图像 1-100 的代码输出。
我该怎么做呢?
如果您知道它们所在目录的名称,或者如果您 cd 到该目录,则使用 dir 获取图像名称列表。
现在它只是一个 for 循环来加载图像。将图像存储在元胞数组中。例如...
D = dir('*.jpg');
imcell = cell(1,numel(D));
for i = 1:numel(D)
imcell{i} = imread(D(i).name);
end
请注意,这 100 张图像会占用太多内存。例如,如果是 uint8 RGB 值,则单个 1Kx1K 图像将需要 3 MB 来存储。这看起来可能不是一个很大的数字。
但其中 100 个图像将需要 300 MB RAM。真正的问题是,如果您对这些图像的操作将它们变成双精度图像,那么它们现在将占用 2.4 GB 的内存。这将很快耗尽您拥有的 RAM 量,特别是如果您不使用 64 位版本的 MATLAB。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)