Extracting files saved in .mat file
Show older comments
I have saved a set of images in a single .mat file and also generate a txt file contains the filenames of the images that have been saved in the .mat file. I am looking to be able to extract the images from the .mat file. Any help would be welcome. I have attached the code here.
function saveimage()
[fname,pname] = uigetfile('*.*','Pick an Image File','MultiSelect','on');
if isequal(fname,0)
warndlg('Program has been exited without any files being selected','!! Warning !!');
return;
end
if ischar(fname)
fname = {fname}; % If a single image was selected
end
k=0;
l = length(fname);
for i = 1:l
currentimage = imread([pname fname{i}]);
imgs(i).currentimage=currentimage;
fprintf(fout, '\r'); fprintf(fout, fname{i});
k=k+1;
end
save([foutpath num2str(k),'_',num2str(dt),'_Images.mat'], 'imgs');
if (l > 1)
message = sprintf([num2str(k) ' images successfully saved\n\nResults are saved in ' strrep(foutpath, '\', '\\') '\n\n Click OK to continue']);
uiwait(msgbox(message));
else
message = sprintf([num2str(k) ' image successfully saved\n\nResults are saved in ' strrep(foutpath, '\', '\\') '\n\n Click OK to continue']);
uiwait(msgbox(message));
end
return
Answers (2)
Swati Tiwari
on 15 Aug 2013
You should be able to load the image matrix into the MATLAB workspace using the LOAD function.
var = load('filename.mat');
As per your function, var would most likely be a structure array and the field 'currentimage' would correspond to your image file which you can then write to an image file using the IMWRITE function.
imwrite(var(1).currentimage, 'filename', '<format>')
I would recommend reading the documentation on LOAD and IMWRITE.
HTH
4 Comments
Ram
on 15 Aug 2013
Jan
on 15 Aug 2013
@Ram: If the variable var (better use a name which does not shadow a built-in function) does not contain the field 'currntimage', take the chance to check, what it contains instead:
data = load('filename.mat');
data
Ram
on 15 Aug 2013
Image Analyst
on 15 Aug 2013
Hmmm... Looks like Ram needs to look at this so he can learn how to see what's in variables: http://blogs.mathworks.com/videos/category/gui-or-guide/
poongothai rajan
on 23 Apr 2014
0 votes
my file name is te.mat..i can able to read data from my file...but i couldnot view my images...can u give me code for view my .mat file as images
Categories
Find more on Get Started with Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!