文章目录
学习一下图像拼接会用到的评价指标
MSE、RMSE、PSNR,SSIM,熵值分别是什么
MSE:Mean Square Error,均方误差,计算待评价图像和原始图像之间的差异。对于拼接融合图像来说,值越大说明质量越差。
QMSE:均值误差法。基于MSE提出的一种新的均方误差方法。
RMSE:均方根误差。同样,值越大说明拼接融合效果越差。
SNR:信噪比,信噪比越大,说明混在信号里的噪声越小,采集到的的信号质量越高
PSNR:峰值信噪比,分母为待评价图和原图像之间的能量差异,也相当于噪声,噪声越小越好,因此PSNR越大说明拼接融合质量越好。
SSIM:结构相似度,主要对图像对比度、亮度以及结构信息进行考量,值越大越相似,且最大值为1
熵值: 反映了图像中平均信息量的多少,在图像拼接融合中,熵值越大,说明拼接融合效果越好。
补充:MSE、RMSE、QMSE、SNR和PSNR都是基于灰度值对参考图和评价图进行运算。
MSE均方误差
如下公式,均方误差是值与参数真值之差平方的期望值(均值)。
在图像处理中,均方误差表示处理后图像像素值与原始像素值之差平方和的期望值。
图像尺寸为m*n,而i 和 j表示该某像素点的横纵坐标,I表示原图像(参考图像),K表示处理后的图像(评价图像)
我们给出下面图片,来计算它们的MSE均方误差。其中mn图片有重合部分更相似,r与mn无重复部分。我们依次进行验证
Matlab计算MSE均方误差
%计算相同的两张图像m的均方误差
%A是处理后的图像,ref为参考图像,可根据需要进行图像修改
A=imread('m.png');
ref=imread('m.png');
err = immse(A, ref);
fprintf('\n The mean-squared error is %0.4f\n', err);
如下符合要求,均方误差为0
同理 采用m n 两张图(有重合部分)进行均方误差计算为3283.4812,可看出两图间差别越大值越大。
采用 m r两张图(无重合部分),均方误差为3766.2645,说明差别更大,符合图片描述。
QMSE均值误差法
当我们进行全景图评价的时候,由于没有全景图的参考图,因此我们将输入的拼接左右图作为参考图,得到如下新的均方误差公式:
其中w为权重因子,当w = 1/2 时,为均值误差法,该值越小,说明差异越小,因此拼接全景图的质量越好。
RMSE均方根误差
相当于对均方误差MSE开根号。
Matlab计算RMSE均方根误差
同样采用mnr三张图片分别验证。
%输入两张相同的图片,其均方根误差为0,输入不同的两张图mn均方根误差为3.2835e+03,输入两张不同的图片mr为 3.7663e+03。
clc;
close all;
X = imread('m.png');% 读取图像
Y=imread('m.png');
figure;%展示图像
subplot(1, 3, 1); imshow(X); title('q1');
subplot(1, 3, 2); imshow(Y); title('q2');
% 使得图像每个像素值为浮点型
X = double(X);
Y = double(Y);
A = Y-X;
B = X.*Y;
%subplot(1,3,3);imshow(A);title('作差');
MSError = sum(A(:).*A(:))/numel(Y);% 均方根误差MSE,numel()函数返回矩阵元素个数
display(MSError);%均方根误差MSE
SNR信噪比
SNR为图像信噪比,图像的信噪比和图像的清晰度一样,也是衡量图像质量高低的重要指标。图像的信噪比是指视频信号的大小与噪波信号大小的比值
Matlab计算SNR信噪比
%信噪比说明混在信号里的噪声越小,因此输入mn图像(有重合区域),信噪比为6.7641;输入mr图像(无重合区域),信噪比为6.1683
clc;
close all;
X = imread('m.png');% 读取图像
Y=imread('n.png');
figure;% 展示图像
subplot(1, 3, 1); imshow(X); title('q1');
subplot(1, 3, 2); imshow