处理的程序
X=imread('1.tif')
X=im2double(X)
nbc=size(map,1)
x=imnoise(X,'gaussian',0,0.005)
wname='bior3.3'
[c,s]=wavedec2(x,3,wname)
n=[1,2,3]p=[150,120,60]
nc1=wthcoef2('d'历派,c,s,n,p,'s')
nc2=wthcoef2('d',c,s,n,p,'h')
rx1=waverec2(nc1,s,wname)
rx2=waverec2(nc2,s,wname)
[a,b]=psnr_mse(rx1,X)
colormap(gray(nbc))
subplot(221) image(wcodemat(X,nbc)) title('原图')
subplot(222) image(wcodemat(x,nbc)) title('含肢饥贺方差为0.005的高斯噪声')
subplot(223) image(wcodemat(rx1,nbc)) title('小波基bior3.3软阈值去噪')
subplot(224) image(wcodemat(rx2,nbc)) title('小波基bior3.3硬阈值去噪')
求psnr的程序
function [mse,psnr] = psnr_mse(image,image_prime)
% convert to doubles
image=double(image)
[M,N]=size(image)
image_prime=double(image_prime)
% avoid divide by zero nastiness
if ((sum(sum((image-image_prime).^2))) == 0)
error('Input vectors must not be identical')
else
mse=sum(sum((image-image_prime).^2))/(M*N)
psnr=10*log10(255^2/mse)
end
return
编程语言(programming language),又称程序设计语言(program design language,简称PDL),是一组用来定义计算机程序的语法规肢逗则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。 目前通用的编程语言有两种形式:汇编语言和高级语言。
所谓噪声,就是你不想听见的声音,在图像中,就是你不希望有的部分,圆梁扰图像噪声和普通的噪声一样,不是一个独立的纯数学问题,对人类的影响是决定性因素,因此个人认为最后一个问题是没有办法定义的。信噪比SNR就是signal-to-noise ratio,使用电压平方比来定义的,是信号电压与噪声电压之橘旦比的平方的对数的十倍,在图像中被用来渣衫表示解压缩的客观保真度准则。如果把f(x,y)看做原始图g(x,y)和噪声信号e(x,y)的和,输出图的均方信噪比就是
合成图像时采用SNR=(目标背景的灰度对比度/噪声均方差)的平放来进行估计。
正如刚才所说,具体的计算方式是根据不同的具体应用而变化的,有的时候只有噪声电压使用均方根做单位,等等。在看电视的时候,图像噪声的黑色噪声肯定比白色噪声要影响小得多,不能用数字来简单衡量,具体的数值和计算方式需要在应用中反复调试。
计算信号的信噪比:1、信噪比的计量单位是dB,其计算方法是10LOG(Ps/Pn),其中Ps和Pn分别代表信号和噪声的有效功率。请注意:这是功率比。2、也可以换算成电压幅值的比率关系: 20LOG(Vs/Vn),Vs和Vn分别代表信号和噪声电压的“有效值”。请注意:这是电压比。3、信噪比通常不是直接进行测量的,侍败侍而是计算出来的。通常的方法是:给放大器一个标准信号,调整放大器的放大倍数使其达到最大不失真输出功率或幅度(厂家调枯雹试失真的范围由规定的标准决定,我们自己调试凭听觉经验确定),用万能表测记下此时放大器的输出电压Vs,然后撤除输入信号,测量此时出现在输出端的噪老吵声电压,记为Vn,再根20LOG(Vs/Vn)就可以计算出信噪比了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)