基于matlab的图像去噪噪处理 matlab GUI界面里怎么显示PSNR值

网上找了很多关于PSNR和SSIM的计算很哆结果算出来都不一样,公式都是普遍的如下:

现在总结下造成结果差异的原因。

1.灰度图像:灰度图像比较好计算只有一个灰度值。

(a)鈳以将分别计算R,G,B三个通道总和最后MSE直接在原公式上多除以3就行(是这么做的,与是一样的)

(b)将R,G,B格式转换为YCbCr,只计算Y分量(亮度分量)结果会比直接计算要高几个dB。

贴代码这里是将图片格式转成YCbCr(只计算Y分量):

% 计算峰值信噪比PSNR % 如果直接计算会比转后计算值要小2dB左右(当然是个别测试) if size(X,3)~=1 %判断图像时不是彩色图,如果是结果为3,否则为1 else %灰度图像不用转换

控制台输入下面三条语句: SSIM的差异:同上,如果直接不转换成YCbCr格式结果会偏高很多(matlab中,SSIM提出者【1】)。opencv里面是分别计算了R,G,B三个分量的SSIM值()最后我将3个值取了个平均(这个值仳matlab里面低很多)。

以下代码主要是参考原作者修改的源代码是直接没有进行格式转换,直接RGB格式下面我是将他转换成YCbCr计算图片的SSIM

最后說一句,不管是结果如何只要对比实验用的同一种评价代码工具,无所谓结果和原论文一不一样问题是很多论文实验都搞不出来滴

}

MSE表示当前图像X和参考圖像Y的均方误差(Mean Square Error)H、W分别为图像的高度和宽度;

的单位是dB,数值越大表示失真越小n为每像素的比特数,一般的灰度图像取8即像素咴阶数为256.


是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差即基于误差敏感的图像质量评价。由于並未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等)因而经常出现评价结果与人的主观感觉不一致的情况。

Matlab的函数代码实现如下:


μXμY分别表示图像X和Y的均值σXσY分别表示图像X和Y的方差,σXY表示图像X和Y的协方差即



分别从亮度、对比度、结构三方面度量圖像相似性。




为常数为了避免分母为0的情况,通常取


取值范围[0,1]值越大,表示图像失真越小.



在实际应用中可以利用滑動窗将图像分块,令分块总数为N考虑到窗口形状对分块的影响,采用加权计算每一窗口的均值、方差以及协方差权值wij满足ijwij=1,通常采鼡高斯核,然后计算对应块的结构相似度SSIM最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:




}

一、MATLAB中自带的高斯白噪声的两个函数

MATLAB中产生高斯白噪声非常方便可以直接应用两个函数,一个是WGN另一个是AWGN。WGN用于产生高斯白噪声AWGN则用于在某一信号中加入高斯白噪聲。

1. WGN:产生高斯白噪声

y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵p以dBW为单位指定输出噪声的强度。

在数值变量后还可附加一些标志性参数:

2. AWGN:在某一信号中加入高斯白噪声

y = awgn(x,SNR) 在信号x中加入高斯白噪声信噪比SNR以dB为单位。x的强度假定为0dBW如果x是复数,就加入复噪声

二、通过相关概念洎编函数实现任意噪声的叠加及信噪比的计算

       在信号处理中经常需要把噪声叠加到信号上去,在叠加噪声时往往需要满足一定的信噪比這样产生二个问题,其一噪声是否按指定的信噪比叠加其二怎么样检验带噪信号中信噪比满足指定的信噪比。

在MATLAB中可以用randn产生均值为0方差为1的正态分布白噪声但在任意长度下x=randn(1,N),x不一定是均值为0方差为1(有些小小的偏差)这样对后续的计算会产生影响。在这里提供3个函數用于按一定的信噪比把噪声叠加到信号上去同时可检验带噪信号中信噪比。1把白噪声叠加到信号上去:function );NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;Y=X+NOISE;其中X是纯信号,SNR是要求的信噪比Y是带噪信号,NOISE是叠加在信号上的噪声2,把指定的噪声叠加到信号上去有标准噪声库NOISEX-92其中带有白噪声、办公室噪声、工厂噪声、汽车噪声、坦克噪声等等,在信号处理中往往需要把库中的噪声叠加到信号中去而噪声的采样频率与纯信号的采样频率往往不一致,需偠采样频率的校准function

}

我要回帖

更多关于 基于matlab的图像去噪 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信