Problem of using "imagesc" function

2 ビュー (過去 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 Center および File ExchangeOrange についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by