Image 在Matlab中,有没有一种方法可以快速将一个文件夹中的图像导入到矩阵中?
现在我正在使用for循环将图像导入矩阵,其中的列是所述图像的RGB表示。这是我的密码:Image 在Matlab中,有没有一种方法可以快速将一个文件夹中的图像导入到矩阵中?,image,matlab,import,Image,Matlab,Import,现在我正在使用for循环将图像导入矩阵,其中的列是所述图像的RGB表示。这是我的密码: for i=1:num_data_points filename = sprintf('train/%d.png', i) X(:,i)=reshape(imread(filename), [], 1); end 我的问题是,除非我使用少量图像(100-200),否则导入需要很长时间,但由于我使用的是CIFAR-10数据集,所以我希望导入整个训练集(10000个图像) 有更快的方法吗?如果全部导入,您确定不
for i=1:num_data_points
filename = sprintf('train/%d.png', i)
X(:,i)=reshape(imread(filename), [], 1);
end
我的问题是,除非我使用少量图像(100-200),否则导入需要很长时间,但由于我使用的是CIFAR-10数据集,所以我希望导入整个训练集(10000个图像)
有更快的方法吗?如果全部导入,您确定不会从内存中获取
?尺寸是多少?如果它们是300x300
,那么10000x300x300x3=2.7e9
。它们是32x32。我并不是一意孤行地把它们全部导入,但是如果有一种更快的方法导入1000-2000,那就是greatI,你不认为你可以避免这个循环,因为imgread
只接受字符串并将它们传递给fopen
,它只对单个文件有效。但是,通过X=0(1024,num\u数据点)预分配X
可能会提高性能。请参见此处,如果使用单元格
有帮助,可能重塑
需要花费很多时间,@Nemesis大大加快了我的代码速度,谢谢!