matlab中的psnr_MATLAB--数字图像处理 频域图像分析

该实验通过MATLAB探讨频域图像分析,涉及傅里叶变换、小波变换和PSNR值计算。实验比较了高斯滤波、中值滤波、傅里叶变换滤波和小波变换滤波对高斯噪声和周期噪声的去噪效果,发现小波变换在去除周期噪声时表现优秀,而傅里叶变换对高斯噪声处理良好。同时,实验还探讨了图像压缩和小波变换在保留图像细节方面的优势。
摘要由CSDN通过智能技术生成

dd24bc1a695030ae1cf64d8dab969651.png

一、实验名称

频域图像分析

二、实验目的

1.熟悉MATLAB软件的使用。
2.掌握频域图像分析的原理及数学运算。

三、实验内容

1.自选一幅图像,并对其分别添加一定强度的周期噪声和高斯噪声,然后分别采用高斯模板、中值滤波的时域方法以及傅里叶变换和小波变换的频率滤波方法对该含噪图像进行去噪处理,并基于PSNR值和视觉效果这两个指标来比较这四种滤波方法对两种不同噪声的去噪能力。
2.编写一个程序,要求实现下列算法:首先将閣像分割为8x8的子图像,对每个予图像进行FFT.对每个了图像中的64个系数。按照每个系数的方差来排序后,舍去小的变換系數,只保留16个系数,实现4: I的图像压缩。
3.给定一幅行和列都为2的整数次幕图像,用Haar小波基函数对其进行二维小波变换,试着将最低尺度近似分量置零再反变换,结果是什么?如果把垂直方向的细节分量置零,反变换后结果又是什么呢?试解释一下原因。
4.基于小波变换对图像进行不同压缩比的压缩。在同压缩比情况下,对于基于小波变换和基于傅里叶变换的压缩结果,比较=二者保留原图像能里百分比情况。

四、实验仪器与设备

Win10 64位电脑
MATLAB R2017a

五、实验原理

1.傅里叶变换
从纯粹的数学意义上看,傅里叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅里叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅里叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数。
傅里叶逆变换是将图像的频率分布函数变换为灰度分布函数傅里叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,通常用一个二维矩阵表示空间上各点,记为z=f(x,y)。又因空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就必须由梯度来表示,这样我们才能通过观察图像得知物体在三维空间中的对应关系。
2.小波变换
小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节带噪声信号经过预处理,然后利用小波变换把信号分解到各尺度中,在每一尺度下把属于噪声的小波系数去掉,保留并增强属于信号的小波系数,最后再经过小波逆变换回复检测信号。
小波变换在去除噪声时可提取并保存对视觉起主要作用的边缘信息,而传统的基于傅里叶变换去除噪声的方法在去除噪声和边沿保持上存在着矛盾,因为傅里叶变换方法在时域不能局部化,难以检测到局域突变信号,在去除噪声的同时,也损失了图像边沿信息。由此可知,与傅里叶变换去除噪声的方法相比较,小波变换法去除噪声具有明显的性能优势。
3.PSNR算法
peak的中文意思是顶点。而ratio的意思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像都会在某种程度与原始影像不同。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来衡量某个处理程序能否令人满意。它是原图像与被处理图像之间的均方误差相对于(2n-1)2的对数值(信号最大值的平方,n是每个采样值的比特数),它的单位是dB。

六、实验过程及代码

t=imread('a1.jpg');

%添加高斯噪声
t1=imnoise(t,'gaussian',0,0.02);
[m,n]=size(t);
t2=t;

%添加周期噪声
for i=1:m
for j=1:n
t2(i,j)=t(i,j)+30*sin(30*i)+30*sin(30*j);
end
end
imshow(t1),title('加入高斯噪声后')
figure,imshow(t2),title('加入周期噪声后');

%进行高斯滤波、中值滤波
t3_1=t;
t3_1(:,:,1)=medfilt2(t1(:,:,1),[3 3]);
t3_1(:,:,2)=medfilt2(t1(:,:,2),[3 3]);
t3_1(:,:,3)=medfilt2(t1(:,:,3),[3 3]);
figure,imshow(t3_1),title('对高斯噪声进行中值滤波','fontsize',16)
h=fspecial('gaussian',5,3);%确定滤波方式为高斯滤波 5是模板大小  3是方差
t3_2=imfilter(t2,h);%滤波操作
figure,imshow(t3_2),title('对周期噪声进行高斯滤波','fontsize',16)

t3_1=t;
t3_1(:,:,1)=medfilt2(t2(:,:,1),[3 3]);
t3_1(:,:,2)=medfilt2(t2(:,:,2),[3 3]);
t3_1(:,:,3)=medfilt2(t2(:,:,3),[3 3]);
figure,imshow(t3_1),title('对高斯噪声进行中值滤波','fontsize',16)
h=fspecial('gaussian',5,3);%确定滤波方式为高斯滤波 5是模板大小  3是方差
t3_2=imfilter(t1,h);%滤波操作
figure,imshow(t3_2),title('对周期噪声进行高斯滤波','fontsize',16)


%对周期噪声傅里叶变换滤波
t_f=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值