MATLAB Answers

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

8 views (last 30 days)
hp
hp on 29 Jun 2017
Edited: 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.

Answers (1)

Walter Roberson
Walter Roberson on 29 Jun 2017
Edited: 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
hp
hp on 3 Jul 2017
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.
hp
hp on 3 Jul 2017
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.
Guillaume
Guillaume on 3 Jul 2017
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.

Sign in to answer this question.