读取 Scilab 文件夹中的多个图像
Reading multiple images which are in a folder in Scilab
我想读取 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
但是不行。它显示错误 "invalid index"。
有两个错误需要更正:
1.) length
给出一个字符串的字符数(=长度),但是你想得到一个向量(文件名)中的元素数(=大小),因此你应该使用 size
.
2.) I1是dir
返回的列表结构。您可以使用 .
运算符提取其内容,例如I1.name
、I1.date
、I1.bytes
、I1.isdir
。将这些输入控制台,查看内容!由于 I1.name
已经包含作为字符串向量的完整路径+文件名+扩展名,因此您不必使用 strcat
构造它。无论如何,如果你想 "glue" 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
我想读取 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
但是不行。它显示错误 "invalid index"。
有两个错误需要更正:
1.) length
给出一个字符串的字符数(=长度),但是你想得到一个向量(文件名)中的元素数(=大小),因此你应该使用 size
.
2.) I1是dir
返回的列表结构。您可以使用 .
运算符提取其内容,例如I1.name
、I1.date
、I1.bytes
、I1.isdir
。将这些输入控制台,查看内容!由于 I1.name
已经包含作为字符串向量的完整路径+文件名+扩展名,因此您不必使用 strcat
构造它。无论如何,如果你想 "glue" 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