MATLAB Answers

hp
0

how can i use imdisp to display images from the folder?

Asked by hp
on 29 Jun 2017
Latest activity Edited by Walter Roberson
on 3 Jul 2017
I have code which saves matched images into a folder... how can retrieve images from the folder and display multiple or all images of folder using "imdisp" ...
[MATLAB 7]

  0 Comments

Sign in to comment.

1 Answer

Answer by Walter Roberson
on 29 Jun 2017
Edited by Walter Roberson
on 29 Jun 2017

imdisp is a File Exchange contribution which has been replaced by SC
Be careful if your images are named something img_9.bmp img_10.bmp and so on instead of img_09.bmp img_10.bmp (with fixed number of digits). If you use variable number of digits you will probably want to use https://www.mathworks.com/examples/matlab/community/19425-natsortfiles-examples

  4 Comments

Show 1 older comment
sir its giving error for my code.. please see this:
listing = dir(strcat(dir_in,'i*.',file_ext));
numfile = length(listing);
>> image_stack = [];
>> for k = 1 : numfile
thisfile = listing(k).name;
thisimage = imread(thisfile);
image_stack(1:size(thisimage,1), 1:size(thisimage,2), :, k) = thisimage;
end
??? Error using ==> imread at 315
File "i1.jpg" does not exist.
sorry some lines were missing in the above code:
dir_in = 'C:\Program Files\hemaMATLAB\R2007b\work\capinput\';
dir_out = 'C:\Program Files\hemaMATLAB\R2007b\work\output\';
file_ext = 'jpg';
listing = dir(strcat(dir_in,'i*.',file_ext));
numfile = length(listing);
>> image_stack = [];
>> for k = 1 : numfile
thisfile = listing(k).name;
thisimage = imread(thisfile);
image_stack(1:size(thisimage,1), 1:size(thisimage,2), :, k) = thisimage;
end
??? Error using ==> imread at 315
File "i1.jpg" does not exist.
Don't use strcat use fullfile instead.
Don't use length use numel instead.
Your error is because you haven't specified the full path of the file in your imread call.
thisimage = imread(fullfile(dir_in, thisfile));

Sign in to comment.