利用Matlab进行图像变换(傅里叶变换、余弦变换)

本文章包含以下内容:

1.利用matlab工具箱实现傅里叶变换及逆变换。

2.利用matlab工具箱实现余弦变换及逆变换。

代码如下:

function U()
    clear;
    clc;
    img = imread('cameraman.tif');  % 读取文件
    figure('Name','傅里叶变换');     % 开一个标题为“傅里叶变换”的窗口
    subplot(1,3,1);imshow(img);title('原图');       % 显示原图
    DFT1=fft2(img);                 % 进行傅里叶变换。
    % 显示图像频谱图,傅里叶变换结果为复数,所以取绝对值,值太大,取对数
    subplot(1,3,2);imshow(log(abs(DFT1)+1),[0,10]);title('傅里叶变换结果');
    % 显示逆变换图像
    subplot(1,3,3);imshow(uint8(ifft2(DFT1)));title('逆变换图像');
    figure('Name', '余弦变换');        % 开一个标题为“余弦变换”的窗口
    subplot(1,3,1);imshow(img);title('原图');       % 显示原图
    DCT1=dct2(img);                 % 进行余弦变换。
    % 显示余弦变换结果
    subplot(1,3,2);imshow(log(abs(DCT1)+1),[0,10]);title('余弦变换结果');
    % 显示逆变换图像
    subplot(1,3,3);imshow(uint8(idct2(DCT1)));title('逆变换图像');
end

结果示例:

        傅里叶变换得到的频谱相当于图像的梯度,表现了图像上某一点与邻域点差异的强弱,体现了图像变化的剧烈程度。傅里叶变换将一个信号曲线分解成若干个正弦曲线,这些正弦的频率代表了原信号曲线的频率变化情况,如果将信号展开为偶信号,则为余弦变换。

        傅里叶变换的图像零频部分在四周,高频部分在中心,而余弦变换图像具有很强的能量集中在频谱低频部分的特性,低频部分集中在左上角,幅值大,高频部分幅值小。

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值