图像质量评价mse,snr等指标附上matlab代码
时间: 2023-05-14 18:01:33 浏览: 248
图像质量评价是图像处理中非常重要的一个环节,对于评价图像的质量可以通过一些指标进行量化分析。其中MSE和SNR是常用的评价指标。
MSE (Mean square error,均方误差)是表示图像差异程度的一种数值,它衡量原始图像和处理后图像间的平均误差的平方,公式如下:
MSE=(1/MN)∑[I(i,j)-K(i,j)]^2
其中,I表示原始图像的像素值,K表示处理后图像的像素值,M、N分别为图像的宽度和高度。
在MATLAB中,可以通过以下程序实现MSE的计算:
I = imread('lena.jpg');
K = imnoise(I,'gaussian',0,0.01);
[M,N] = size(I);
d = (double(I)-double(K)).^2;
mse = sum(d(:))/(M*N)
SNR (Signal-to-Noise Ratio,信噪比)是表示信号与噪声的比值,公式如下:
SNR=10*log10{[∑(i=1~M)∑(j=1~N)I(i,j)^2]/[∑(i=1~M)∑(j=1~N)(I(i,j)-K(i,j))^2]}
其中,I表示原始图像的像素值,K表示处理后图像的像素值,M、N分别为图像的宽度和高度。
在MATLAB中,可以通过以下程序实现SNR的计算:
I = imread('lena.jpg');
K = imnoise(I,'gaussian',0,0.01);
mse = sum(sum((double(K) - double(I)).^2))/(size(I,1)*size(I,2));
psnr = 10*log10(255^2/mse)
以上是MSE和SNR的计算原理和MATLAB代码。在图像处理过程中,通过这些指标评价图像的质量可以提高图像处理的效果,从而使最终处理得到的图像更加清晰、鲜明。
阅读全文