MATLAB官方doc示例colormap函数不适用于imshow?

时间:2017-02-14 06:32:25

标签: matlab

我正在从本教程学习FFT: https://www.mathworks.com/help/images/fourier-transform.html#f21-16704

所以我在matlab的网站上尝试了这个例子。但是,频域图像是灰度而不是彩色图功能指定的彩色图像。我唯一能让它变得丰富多彩的方法是将imshow函数替换为下面注释掉的版本。

为什么在这种情况下色彩映射功能不起作用?

f = zeros(30,30);
f(5:24,13:17) = 1;
imshow(f,'InitialMagnification','fit')

figure;
F = fft2(f);
F2 = log(abs(F));
%imshow(F2,[-1 5],'InitialMagnification','fit','Colormap',jet(256));  % this works
imshow(F2,[-1 5],'InitialMagnification','fit');
colormap(jet(256)); colorbar                   % not work, gets greyscale image

1 个答案:

答案 0 :(得分:0)

我认为你想要你的色彩图是一个问题。用下面的代码替换最后一行。 gca指的是当前轴。

colormap(gca,jet(256)); colorbar