MATLAB能对彩色图像做傅立叶变换吗

问题描述:

MATLAB能对彩色图像做傅立叶变换吗
如题.如果能做,
另外,是不是只能对2值图像和灰度图像做变换?
麻烦请给出代码,
B是不是对A做傅立叶变换以后的实部?我想画power spectrum,用imshow(abs(B));但是出来的图像是一片空白,为什么呢?怎么才能画功率频谱?怎么画相位?还有,为什么不用fftshift?
1个回答 分类:综合 2014-10-24

问题解答:

我来补答
可以单独对RGB图像的三个分量做傅里叶变换.
设a.jpg为RGB类型图像
rgb = imread('a.jpg');
x1 = rgb(:,:,1);
x2 = rgb(:,:,2);
x3 = rgb(:,:,3);%R,G,B三个分量
对某个分量或灰度图像矩阵x做傅里叶变换
X = fftshift(fft2(x));
X2 = abs(X.^2); %计算功率谱
imshow(X2,[])
Y = angle(X);
figure;imshow(X,[])
 
 
展开全文阅读
剩余:2000
上一页:高数一指数函数
下一页:必修五第四单元