数字图像处理-DFT&DCT&WHT&小波变换分解重构(Matlab)

图像处理变换详解
本文详细介绍使用Matlab进行数字图像处理中的各种变换技术,包括傅里叶变换、离散余弦变换、沃尔什哈达玛变换及小波变换,并通过代码实现展示了如何去除高频分量并进行逆变换来恢复图像。

数字图像处理-DFT&DCT&WHT&小波变换分解重构(Matlab)

基本的matlab图像处理函数的使用

函数 功能
imread('图像名') 读取图像
imshow(color_pic) 显示图像
rgb2gray(color_pic) 将彩色图像转换成灰度图像
imhist(gray_pic,n) 查看灰度图像的灰度直方图

代码块

%-----------------Matlab基本图像处理函数使用------------------
clear ;
close all;
color_pic=imread('lena512color.bmp');  %读取图像
figure('name','图像读取');   
subplot(2,2,1);
imshow(color_pic);   %显示图像
title('原彩色图像');
gray_pic=rgb2gray(color_pic);  %将彩色图转换成灰度图
subplot(2,2,2);
imshow(gray_pic);
title('灰度图像');
subplot(2,2,3);
imhist(gray_pic);   %查看灰度直方图,默认n=256,256个长度为1的灰度空间
title('灰度直方图256等级');
subplot(2,2,4);
imhist(gray_pic,64);%n=6464个长度为4的灰度空间
title('灰度直方图64等级');

运行效果

在这里插入图片描述

傅里叶变换(DFT)

对图像进行傅里叶正变换

%------------------傅里叶变换------------------
clear;  %清除变量
close all; %关闭生成的画图窗口
color_pic=imread('lena512color.bmp');  %读取图像
gray_pic=rgb2gray(color_pic);  %将彩色图转换成灰度图
figure('name','傅里叶变换'); %傅里叶变换
subplot(2,2,1);
imshow(gray_pic);
title('原灰度图像');
Fourier=fft2(gray_pic);  %对灰度图像进行傅里叶正变换
log_Fourier=log(abs(Fourier)+1); %取模并进行缩放,调高频谱图像的低灰度值而对高灰度值仅可能减小
subplot(2,2,2);
imshow(log_Fourier,[]);    %未进行频谱搬移时的频谱图
title('傅里叶变换频谱图');
Fourier_shift=fftshift(Fourier); %将频谱图中零频率成分移动至频谱图中心
log_Fourier_shift=log(abs(Fourier_shift)+1); %取模并进行缩放,对于(01)之间的x值经过取对数后会变成负值,而log(x+1)则将所有的x值映射到正数范围内
subplot(2,2,3);
imshow(log_Fourier_shift,[]);
title('频移后的频谱图');
  • 程序运行效果:

在这里插入图片描述

  • 总结:
     在图像的傅里叶频谱中,原空间域图像上的灰度突变部位、图像结构复杂的区域、图像细节及干扰噪声等信息集中在高频区,原空间域图像上灰度变化平缓部位的信息(图像轮廓)集中在低频区。
     低频部分(图像轮廓)对应于未进行频移的傅里叶频谱的4个边角角部分,由于低频部分能量较集中,因而在频谱图上的视觉效果较亮。当进行频移后,低频部分移至频谱中央,中央处最亮。

去除部分高频分量后对图像进行傅里叶逆变换

%-----------------设置阈值滤除高频  傅里叶逆变换----------------
clear;
close all;
color_pic=imread('lena512color.bmp');  %读取图像
gray_pic=rgb2gray(color_pic);  %将彩色图转换成灰度图
threshold=[100000,30000,5000,500];  %设置不同阈值 (高频部分能量低)
figure('name','傅里叶逆变换图像');
for i=1
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值