MATLAB Answers

Le Nguyen

How to create a single .mat file from multiple images?

Asked by Le Nguyen
on 5 Oct 2012

Hi all,

Assume that I have 5 images as following: 1.bmp, 2.bmp, 3.bmp, 4.bmp, 5.bmp. I want to combine those 5 images into a single .mat file. Anyone knows how to solve this issue, please help me!!

Thanks in advance!!


on 1 Aug 2013

Hi I have the same problem with images: 01.dcm, 02.dcm, 03.dcm ... 22.dcm;

%d isn't working for 01.dcm. what should I do Please

Azzi Abdelmalek
on 1 Aug 2013

What is the error message?



No products are associated with this question.

1 Answer

Answer by Azzi Abdelmalek
on 5 Oct 2012
Edited by Azzi Abdelmalek
on 5 Oct 2012
 Accepted answer
for k=1:5
save file h


Image Analyst
on 6 Oct 2012

Matt J is probably right. Here are some code snippets that may help you:

% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);


% Get a weighted sum of the Red, Green, and Blue channels.
grayImage = rgb2gray(rgbImage);
Le Nguyen
on 6 Oct 2012

Hi all,

After taking a look around Matlab for a while, I seem to know how to solve this issue!! You are right, Matt J!! My bitmap files are all 3D as well as colourful!! That's why Matt Kindig's solution didnt work at all!! Here is my modification and it really works well!!

img = rgb2gray(imread('1.bmp'));

[r,c]= size(img);

h = NaN(r,c,5); %pre-allocate memory

h(:,:,1) = img;

for k=2:5

   h(:,:,k) = rgb2gray(imread(sprintf('%d.bmp',k)));


save filename h

I am totally a newbie to Matlab, thus, all of your suggestions are always helpful to me and I am really in debt of it!!

Again, thanks a lot!! :)

PS: if there are any modifications for better performance as well as optimization, please let me know!!

Jan Simon
on 1 Aug 2013

@Le: Please be careful with the exclamation marks. The have a lot of power in English, e.g. much more than in German.

Your solution looks fine and efficient. Disk access like imread has the benefit, that it is such slow, that improvements in other parts of the code are usually not significant.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today