I am not understanding the error "Undefined function or variable all_images" I currently have the following code;
1 次查看(过去 30 天)
显示 更早的评论
function stimuli=letters_load(N, randord)
dirname= 'C:\Users\User\Documents\MATLAB\stimuli';
if~exist('N','var')
N=21;
end
if N<1 | N>21
error('Number of images selected is out of range')
end
if~exist('randord','var')
randord=false;
end
d=dir([dirname '*.jpg']);
for i=1:length(d)
file=[ dirname d(i).name ];
all_images{i}=imread(file);
end
if randord
idx=randperm(21);
img = all_images(idx(1:N));
else
img = all_images;
end
0 个评论
回答(1 个)
Walter Roberson
2019-1-22
编辑:Walter Roberson
2019-1-22
You only assign into all_images if length(d) is at least 1.
In other words, the result of the dir() was empty.
Note that the result of
[dirname '*.jpg']
is going to be
'C:\Users\User\Documents\MATLAB\stimuli*.jpg'
You should switch to using fullfile():
fullfile(dirname, '*.jpg')
also you should pre-allocate:
all_images = cell(length(d), 1);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!