Problem of using "imagesc" function

8 次查看(过去 30 天)
Amit Chakraborty
Amit Chakraborty 2022-3-11
回答: DGM 2022-3-11
When I execute the following code it runs perfectly and shows me the slices.
for i = 1:64
figure(1); imagesc(imgaussfilt3(max(img(:,:,i),0))); axis off; axis equal; colormap gray; colorbar;
title(num2str(i));
% caxis([0 0.01]);
% caxis([0.010 0.025]);
% caxis([0.5 2.5]);
pause(0.50);
end
% But I want to plot the slices on the Y axis protion Like:
for i = 1:64
figure(1); imagesc(imgaussfilt3(max(img(:,i,:),0))); axis off; axis equal; colormap gray; colorbar;
title(num2str(i));
% caxis([0 0.01]);
% caxis([0.010 0.025]);
% caxis([0.5 2.5]);
pause(0.50);
end
%% Error : I am having the following error.
Error using image
Color data must be an m-by-n-by-3 or m-by-n matrix.
Error in imagesc (line 52)
hh = image(varargin{:}, 'CDataMapping', 'scaled');
%% Can anyone help me in this issue. Thanks in advance for your kind help.

回答(1 个)

DGM
DGM 2022-3-11
You need to reorient the data. You could use permute(), or you can do it with squeeze():
imagesc(imgaussfilt3(max(squeeze(img(:,i,:)),0)));

类别

Help CenterFile Exchange 中查找有关 Orange 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by