如何在 MATLAB 的 for 循环中读取多个图像?
How to read mutliple images in a for loop in MATLAB?
我在一个文件夹中分割了结果。这些需要在 for 循环中读取并在循环中进一步处理。我尝试阅读如下:
for i=1:10
file_name=dir(strcat('C:\Users\adminp\Desktop\dinosaurs\'));
im=imread(strcat('C:\Users\adminp\Desktop\dinosaurs\',file_name(i).name));
%processing of read image
end
抛出错误:???在 370 使用 ==> imread 时出错
无法打开文件 "C:\Users\adminp\Desktop\dinosaurs\." 进行阅读;
您可能没有阅读权限。
请指出我哪里做错了。
我猜你的问题是:
file_name(1).name = . % Stands for current directory
file_name(2).name = .. % Stands for parent directory
file_name(3).name = your_file_name.jpg
现在,做:
images = dir('*JPG')
for i=1:numel(images)
file_name=dir(strcat('C:\Users\adminp\Desktop\dinosaurs\'));
im=imread(strcat('C:\Users\adminp\Desktop\dinosaurs\',images(i).name));
%processing of read image
end
如果您有 R2014b 版本的 MATLAB 和计算机视觉系统工具箱,您可以使用 imageSet 对象在一行中完成此操作。
images = imageSet('C:\Users\adminp\Desktop\dinosaurs\');
将创建一个对象,其中包含 dinosaurs
目录中所有图像的路径。它将自动排除任何非图像文件。
然后你可以按如下方式处理你的图片
for i = 1:images.Count
im = read(images, i);
% process the image
end
我在一个文件夹中分割了结果。这些需要在 for 循环中读取并在循环中进一步处理。我尝试阅读如下:
for i=1:10
file_name=dir(strcat('C:\Users\adminp\Desktop\dinosaurs\'));
im=imread(strcat('C:\Users\adminp\Desktop\dinosaurs\',file_name(i).name));
%processing of read image
end
抛出错误:???在 370 使用 ==> imread 时出错 无法打开文件 "C:\Users\adminp\Desktop\dinosaurs\." 进行阅读; 您可能没有阅读权限。
请指出我哪里做错了。
我猜你的问题是:
file_name(1).name = . % Stands for current directory
file_name(2).name = .. % Stands for parent directory
file_name(3).name = your_file_name.jpg
现在,做:
images = dir('*JPG')
for i=1:numel(images)
file_name=dir(strcat('C:\Users\adminp\Desktop\dinosaurs\'));
im=imread(strcat('C:\Users\adminp\Desktop\dinosaurs\',images(i).name));
%processing of read image
end
如果您有 R2014b 版本的 MATLAB 和计算机视觉系统工具箱,您可以使用 imageSet 对象在一行中完成此操作。
images = imageSet('C:\Users\adminp\Desktop\dinosaurs\');
将创建一个对象,其中包含 dinosaurs
目录中所有图像的路径。它将自动排除任何非图像文件。
然后你可以按如下方式处理你的图片
for i = 1:images.Count
im = read(images, i);
% process the image
end