3-D image matrix made from 2-D MRI images

4 views (last 30 days)
Hi, i´m using this code to make 3-D matrix of 2-D MRI images, but if I load more than 3 images that every image besides firts three and the last one is just black and all values of that matrices are zeros. The images are uint8 format. I tried to trasfer them to double but it didn´t work. Is there some solution or the image matrices can be only three for each other?
clc; clear all; close all;
[Name, Path] = uigetfile('*.*', 'All Files (*.*)','MultiSelect','on');
if ~iscell(Name)
Name = {Name};
end
%% matrix
for i = 1:1:length(Name)
Nazev = Name(1,i);
Nazev = char(Nazev);
Img_info = [Path Nazev];
Img = imread(Img_info);
Img(:,:,i) = double(rgb2gray(Img));
end

Accepted Answer

Ameer Hamza
Ameer Hamza on 13 Mar 2020
Edited: Ameer Hamza on 13 Mar 2020
You are replacing the value of Img inside the for loop. The matrix is rewritten at the next iteration. Try this
clc; clear all; close all;
[Name, Path] = uigetfile('*.*', 'All Files (*.*)','MultiSelect','on');
if ~iscell(Name)
Name = {Name};
end
%% matrix
for i = 1:1:length(Name)
Nazev = Name(1,i);
Nazev = char(Nazev);
Img_info = [Path Nazev];
Img = imread(Img_info);
Img_matrix(:,:,i) = rgb2gray(Img);
end
montage(Img_matrix)
  13 Comments
Image Analyst
Image Analyst on 13 Mar 2020
Can you please "Accept this answer" to give Ameer reputation points for helping you? Thanks in advance.

Sign in to comment.

More Answers (0)

Categories

Find more on Images 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!