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
しかし、うまくいきません。「無効なインデックス」というエラーが表示されます。
訂正すべき誤りが 2 つあります。
1.)length
文字列の文字数 (= 長さ) を与えますが、ベクトル (ファイル名) の要素数 (= サイズ) を取得したいので、 を使用する必要がありますsize
。
2.) I1 は によって返されるリスト構造dir
です。、、、 など の .
演算子を使用して内容を抽出できます。これらをコンソールに入力して、内容を確認してください! フルパス + ファイル名 + 拡張子が文字列ベクトルとして既に含まれているため、. とにかく、2 つの文字列を一緒に「接着」したい場合は、簡単に使用できます。したがって、改訂されたコードは次のとおりです。I1.name
I1.date
I1.bytes
I1.isdir
I1.name
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