我试图在文件夹中的所有图片上运行imread
。我已完成此任务,但有一个错误表明我的参数不是字符串。
h_path = 'C:\Users\john\Matlab\train';
dirlist = dir('*.jpg');
for i = 1:length(dirlist)
f_path = strcat(h_path,{'\'},dirlist(i).name);
disp(f_path);
I = imread(f_path);
错误发生在最后一行。此外,disp
函数打印出我的路径,没有任何错误。
答案 0 :(得分:1)
您的代码问题是{'\'}
,不知道为什么要在此处放置单元格数组。只需使用char并且您的代码可以正常工作:
for i = 1:length(dirlist)
f_path = strcat(h_path,'\',dirlist(i).name);
disp(f_path);
I = imread(f_path);
end
正如Oleg已经提到的,最好使用fullfile
,它与平台无关,避免了重复文件分隔符的问题。
for i = 1:length(dirlist)
f_path = fullfile(h_path,dirlist(i).name);
disp(f_path);
I = imread(f_path);
end