How do I display 55x305x4 .mat file as an image in Matlab and save it ?

1 view (last 30 days)
welcome All Matlab users, I have an depth image in .mat file the image 4 channel 55*305*4 ... I have a problem with display it and save it in External file.please,could you help me.
  6 Comments
sloppydisk
sloppydisk on 7 Jun 2018
You must really specify what the input channels represent otherwise there is no meaningful way of converting the file and we will just be guessing at what you want.

Sign in to comment.

Answers (1)

Anton Semechko
Anton Semechko on 7 Jun 2018
% Data array
A=Position3DGrid;
% Convert to uint8
I_min=min(A(:));
I_max=max(A(:));
A=uint8(255*(A-I_min)/(I_max-I_min));
% Composite image
n=2; % number of pixels added to when making a boundary between channels; to separate them visually
IM=cell(4,1);
for i=1:4
im=repmat(A(:,:,i),[1 1 3]);
if i<4 % boundary
im=padarray(im,[n 0 0],255,'post');
end
IM{i}=im;
end
IM=cell2mat(IM);
IM=padarray(IM,[n n 0],255);
% Save composite image to current directory
imwrite(IM,'composite image.jpg')
% This is what the composite image looks like
figure, imshow(IM)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!