我在文件夹中分段了结果。那些需要在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 无法打开文件“C:\ Users \ adminp \ Desktop \ dinosaurs \。”阅读; 你可能没有阅读权限。
请建议我出错的地方。
答案 0 :(得分:4)
我想你的问题是:
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
答案 1 :(得分:1)
如果您使用计算机视觉系统工具箱获得了R1614b MATLAB版本,则可以使用imageSet对象在一行中执行此操作。
images = imageSet('C:\Users\adminp\Desktop\dinosaurs\');
将创建一个对象,其中包含dinosaurs
目录中所有图像的路径。它会自动排除任何非图像文件。
然后您可以按如下方式处理图像
for i = 1:images.Count
im = read(images, i);
% process the image
end