How to save images as jpgs from .mat files struct
12 views (last 30 days)
Show older comments
Hi ,I have 3064 .mat files dataset of brain tumors ,Prepareing data with lables for CNN.Each .mat file has struct 1x1 . Struct has following has these information: cjdata.image and cjdata.label.
And image is stored as cjdata.image.
I want to load all the .mat files:
1.mat ,2.mat ,3.mat ........................3064.mat
Want to apply these three opertions on each .mat file iteratively using a loop
1- accessing image from struct
2.convert into gray scale
3.save grayscale image as as 1.jpg 2.jpg.....3065.jpg
% Reading folder that has 3064 .mat files
myFolder = 'C:\Users\join2\Desktop\FIGSHARE\figshare data progress\figshare jpg data\3064 images';
filePattern = fullfile(myFolder, '*.mat');
Pgraymap = dir(filePattern);
for I = 1:length(Pgraymap)
baseFileName = Pgraymap(I).name;
str = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', str);
img1 = imread(str); % new
% load .mat
d=load(filePattern);
% acessing images from .mat files. each .mat has image as strcture,that
% is "cjdata.image"
d.cjdata.image;
% gray scale conversion
d=im2uint8(d);
% save all d.cjdata.image as jpgs in myFolder .plz help i don't know how to save
end
0 Comments
Accepted Answer
Akira Agata
on 19 Feb 2019
To save matrix as an image, please use imwrite function.
In addition, if you save your data as an image file, I would recommend saving as .tiff or .png to keep data accuracy, because .jpg is a lossy compression method.
The following is a simple example.
inputFolder = 'C:\Users\join2\Desktop\FIGSHARE\figshare data progress\figshare jpg data\3064 images';
outputFolder = pwd; % Please change, if needed.
fileList = dir(fullfile(inputFolder,'*.mat'));
for kk = 1:numel(fileList)
S = load(fullfile(fileList(kk).folder,fileList(kk).name));
I = S.cjdata.image;
I = mat2gray(I);
fileName = replace(fileList(kk).name,'.mat','.tiff');
imwrite(I,fullfile(outputFolder,fileName));
end
12 Comments
More Answers (0)
See Also
Categories
Find more on File Operations 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!