我正在學習本教程的FFT: https://www.mathworks.com/help/images/fourier-transform.html#f21-16704MATLAB官方文檔示例colormap函數不適用於imshow?
所以我嘗試了在matlab網站的例子。但是,頻域圖像是彩色地圖功能指定的灰度而不是彩色。我可以使它變得豐富多彩的唯一方法是用下面註釋掉的版本替換imshow函數。
爲什麼colormap函數在這種情況下不起作用?
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
我不能重現問題 - 它在我的機器上工作正常。難道你是在執行與你發佈的代碼不同的代碼嗎?例如:'imshow(F2,[ - 1 5],'InitialMagnification','fit'); colormap(jet(256)); colorbar; imshow(F2,[ - 1 5],'InitialMagnification','fit');' – Rotem
請嘗試以下操作:在每個'imshow'(在同一代碼行)前添加'figure'命令如下:'figure; imshow(f,'InitialMagnification','fit')'...'figure; imshow(F2,[ - 1 5],'InitialMagnification','fit');'... – Rotem