图像拼接融合质量的客观评价指标——matlab实现MSE、均值误差、RMSE、SNR、PSNR,SSIM,熵值计算

本文介绍了图像拼接融合质量的客观评价指标,包括MSE、QMSE、RMSE、SNR、PSNR和SSIM,以及熵值的计算。通过Matlab实现,阐述了这些指标的数学模型和计算方法,并解释了它们如何反映图像质量。SSIM和熵值越大,表明图像拼接效果越好。
摘要由CSDN通过智能技术生成


学习一下图像拼接会用到的评价指标

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
  • 9
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值