imshow command will not display my images
22 次查看(过去 30 天)
显示 更早的评论
Hi all, I am currently trying to randomly present 21 images, one after the other, all located within the same folder. When I run my code, Matlab does not display any errors, but no images are shown either. I currently have the following code;
dirname= 'C:\Users\User\Documents\MATLAB\stimuli\';
d=dir([dirname '*.jpg']);
for i= randperm(numel(d))
imshow(d(i).name)
pause(2);
end
0 个评论
回答(3 个)
KSSV
2019-1-29
d=dir([dirname '*.jpg']);
for i= randperm(numel(d))
I = imread(d(i).name) ;
imshow(I)
pause(2);
end
1 个评论
Walter Roberson
2019-1-29
dirname= 'C:\Users\User\Documents\MATLAB\stimuli\';
d=dir(fullfile(dirname, '*.jpg'));
for i = randperm(numel(d))
imshow( fullfile(dirname, d(i).name) )
pause(2);
end
0 个评论
Stephen23
2019-1-29
编辑:Stephen23
2019-1-29
The reason is very simple: you forgot to use the path when you tried to read the file:
D = 'C:\Users\User\Documents\MATLAB\stimuli';
S = dir(fullfile(D,'*.jpg'));
for k = randperm(numel(S))
imshow(fullfile(D,S(k).name))
pause(2);
end
Note that it is recommended to avoid using i for a loop iterator, as this is the name of the imaginary unit. Using fullfile is recommended instead of string concatenation:
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!