Imwrite() problem with saving sequence images
    4 views (last 30 days)
  
       Show older comments
    
First, i try to load .mat file into my workspace files = dir('*.mat'); for i = 1:numel(files) load(files(i).name);
Second, i want to read the images in work space and save it as following for k=0:10 output_folder = 'C:\Users\Tossaworn\Desktop'; outputFileName = fullfile(output_folder, ['test' num2str(k) '.tif']);
imwrite(IR0000__,outputFileName); end
IR0000__ is 1 image, but i want IR0001__,IR0002__, ...and output test0,1,2,... . Now output can run, but i have no idea to read the input images. please suggest, Thank you.
0 Comments
Accepted Answer
  Guillaume
      
      
 on 25 May 2018
        Here is how I would do it:
 output_folder = 'C:\Users\Tossaworn\Desktop';
 files = dir('*.mat'); 
 for fidx = 1:numel(files)
    matcontent = load(files(fidx).name);  %load into structure
    filenumber = regexp(files(fidx).name, '\d+', 'match', 'once');  %get numeric part of filename
    imagename = sprintf('IR%s__', filenumber);   %build variable name
    assert(isfield(matcontent, imagename), 'mat file %s does not contain image %s', files(fidx).name, imagename);
    outputfilename = fullfile(output_folder, sprintf('test%s.tif', filenumber));
    imwrite(matcontent.(imagename), outputfilename);
  end
5 Comments
  Guillaume
      
      
 on 29 May 2018
				You're missing a
close(outputVideo);
at the end. If that's not the reason for the problem, then I don't know. Try a different video player which may give more insight.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!