我想读取Scilab文件夹中的多个图像。我的代码是:
I1=dir('G:\SCI\FRAME\*.jpg');
n=length(I1);
disp(n);
for i=1:n
I2=strcat('G:\SCI\FRAME\',I1(i).name);
I=imread(I2);
figure(),imshow(I);
end
但这是行不通的。它显示错误“无效索引”。
有两个错误可以纠正:
1.)length
给出了字符串的字符数(= length),但是您想获取矢量(文件名)中的元素数(= size),因此应使用size
。
2.)I1是由返回的列表结构dir
。您可以提取其与内容.
运营商,如I1.name
,I1.date
,I1.bytes
,I1.isdir
。将它们输入控制台,以查看内容!由于I1.name
已经包含fullpath + filename + extension作为字符串向量,因此您不必使用构造它strcat
。无论如何,如果您想将2个字符串“粘合”在一起,那么使用+
例如会更容易S="fisrst_string"+"second_string"
。因此,修改后的代码为:
I1=dir('G:\SCI\FRAME\*.jpg');
n=size(I1.name,"*"); //size of the I1.name vector
disp(n);
for i=1:n
I=imread(I1.name(i)); //I1.name is a string vector
figure();
imshow(I);
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句