how to fix these errors in my matlab code?

i'm trying to stack 2d images to get 3d just like How can I plot several 2D image in a stack style in Matlab? but i get these errors.
and someone suggested to go with the below code
M = zeros(25, 50, 8);
for k = 1:8
img = imread(sprintf('%d-0000.jpg', k + 30));
img = imresize(img, [25 50]);
img = im2double(rgb2gray(img)); % Convert to double format
M(:, :, k) = img;
end
hf2 = figure ;
hs = slice(M,[],[],1:8) ;
shading interp
set(hs,'FaceAlpha',0.8);
this is the error i get error screenshot
please help me solve this errors. i am a beginner.
i have attached all the files i used for the code

 Accepted Answer

Some of your .jpg files are very rare grayscale JPEG. This makes approximately the 4th and 5th actual grayscale JPEG that I have ever encountered (outside of test images to prove that it can be done.)
Earlier today in https://www.mathworks.com/matlabcentral/answers/452018-i-am-making-a-project-on-fingerprint-verification-in-matlab-in-which-i-have-made-two-files-one-is-st#comment_686745 I posted some code that tries to deal with several of the different complications of images not having the expected number of dimensions or panes.

4 Comments

i am reading your post.
can you please paste a running copy of the above code. somone suggested me to use ind2grey but it seem i do not know which arguments must i use.
M = zeros(25, 50, 8);
for k = 1:8
img = imread(sprintf('%d-0000.jpg', k + 30));
img = imresize(img, [25 50]);
if ndims(img) > 2
img = rgb2gray(img);
end
img = im2double(img); % Convert to double format
M(:, :, k) = img;
end
hf2 = figure ;
hs = slice(M,[],[],1:8) ;
shading interp
set(hs,'FaceAlpha',0.8);
thanks a lot.
is it possible to view the output in black and white?

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!