多语言展示
当前在线:1314今日阅读:168今日分享:49

Matlab数字图像处理尝试之:[2]DFT变换

使用傅里叶变换DFT变换对源图片进行处理
工具/原料

 Matlab软件

方法/步骤
1

>> I=imread('原始图像'); 读取图像>>  X=rgb2gray(I);%图像灰度转换>>subplot(2,2,1);>>  imshow(I);显示原始图像>>  title('原始图像');>>  subplot(2,2,2);>>  imshow(X);显示灰度图像>>  Y=fft2(X);灰度图像傅里叶变换>>  title('图像傅里叶变换');>>  subplot(2,2,3);>>  imshow(log(abs(Y)),[]);显示变换结果>>  title('变换结果');>>colormap(jet);设置彩色索引图>>colorbar;显示彩色索引条>>Z=fftshift(Y);傅里叶变换结果平移>>subplot(2,2,4);>>  imshow(log(abs(Z)),[]);显示平移结果>>  title('图像傅里叶变换结果平移');>>colormap(jet);设置彩色索引图>>colorbar;显示彩色索引条

2

以上程序段是对傅里叶变换的结果进行平移,如下图DFTtest1、DFTtest2显示。对于一幅图像,图像中灰度变化比较缓慢的区域可以用较低频谱的正弦信号近似,而灰度变化比较大的边缘地带则要用高频正弦信号近似。一幅图像中大部分都是灰度变化缓慢的区域,只有一小部分是边缘,因此,其变换域的图像能量主要集中在低频部分(对应幅值较高),只有一小部分能量集中在高频部分(对应幅值较低)。以下是DFTtest1

3

以下是DFTtest2

推荐信息