在matlab中读取图像时,数组指数必须是正整数或逻辑值。

问题描述 投票:0回答:1

试图读取多图像在matlab中循环,所以错误的阵列指数必须是正整数或逻辑值出现


for i=1:12  % we have 16 images we have in or folder
clc;clear;
images ='/home/mohamed/Downloads/Lab6-20200415/Lab6-20200421/Lab6/Lab6/';
jpgfiles=dir(fullfile(images,'\*.jpg*'));
n=numel(jpgfiles(i));
im=jpgfiles(i).name;
im1=imread(fullfile(images,im));
d1 = rg2gray(iml);
imshow(im1);
end

matlab image-processing image-segmentation
1个回答
2
投票

这里有一个最小的例子来证明你的问题。

for i=1:10
    clear
    jpgfiles=rand(10,1); %some dummy data to replace your actual code
    jpgfiles(i);
end

清除删除变量 i 也就是说 i 是虚单位,不是有效的索引。避免使用变量名 i这导致了难以调试的问题。如果使用其他的变量名,更清晰的错误信息应该是。

Unrecognized function or variable 'ix'.

Error in foo (line 4)
    jpgfiles(ix);
© www.soinside.com 2019 - 2024. All rights reserved.