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

 采纳的回答

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 个评论

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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Entering Commands 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by