代码之家  ›  专栏  ›  技术社区  ›  khushbu

读取Scilab文件夹中的多个图像

  •  1
  • khushbu  · 技术社区  · 9 年前

    我想阅读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 回复  |  直到 9 年前
        1
  •  1
  •   Attila    9 年前

    有两个错误需要纠正:

    1.) length 给出字符串的字符数(=长度),但您希望得到矢量(文件名)中的元素数(=大小),因此应使用 size .

    2.)I1是由 dir 。您可以使用 . 操作员,例如。 I1.name , I1.date , I1.bytes , I1.isdir 。在控制台中键入这些,以查看内容!自从 I1.名称 已经包含完整路径+文件名+扩展名作为字符串向量,您不必使用 strcat 。不管怎样,如果你想把两根绳子“粘”在一起,那就更容易用了 + 例如 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