Индексы массива должны быть положительными целыми числами или логическим значением при чтении изображений в Matlab - PullRequest
0 голосов
/ 22 апреля 2020

пытается прочитать несколько изображений в matlab в l oop, поэтому индексы ошибки массива должны быть положительными целыми числами, или появляются логические значения


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

1 Ответ

2 голосов
/ 23 апреля 2020

Вот минимальный пример, демонстрирующий вашу проблему:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...