刚刚试过,其实不用转化为灰度图像都可以,fft2其实可以对三维的图像直接进行变换img=imread('J:\鲁棒性检测资料\2_IMG_0001.JPG');subplot(1,2,1)
imshow(img);s=fft2(img);ss=real(ifft2(s));sss=unit8(ss);subplot(1,2,2);
imshow(sss) 这样就可以得到恢复的原彩色图像,其实转化为灰度图像之所以再逆变换得不到源图像,是因为转化回来的数据是double型,转化为uint8类型即可~
傅里叶变换的对象是2D矩阵,你可以试试分别对R、G、B三层二维图像进行操作,最后用cat整合成3D的矩阵。