图像处理之图像质量评价指标MSE(均方误差)

这篇具有很好参考价值的文章主要介绍了图像处理之图像质量评价指标MSE(均方误差)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、MSE基本定义

MSE全称为“Mean Square Error”,中文意思即为均方误差,是衡量图像质量的指标之一。计算原理为真实值与预测值的差值的平方然后求和再平均,公式如下:
图像处理之图像质量评价指标MSE(均方误差)
其中, M为图像I的像素总数,N为图像K的像素总数。MSE值越小,说明图像越相似。计算MSE有四种方法:

方法一:计算RGB图像三个通道每个通道的MSE值再求平均值

方法二:直接使用matlab的内置函数immse()(注意该函数将所有图像当成灰度图像处理)

方法三:判断图像的维度,若是三维即为RGB图像求其MSE,若是二维即为灰度图像求其MSE

方法四:同方法三,对MSE进行归一化处理

二、matlab实现MSE

1、方法一:rgbMSE.m

function msevalue = rgbMSE(image1,image2)
% image1和image2大小相等
row=size(image1,1); % 图像的长
col=size(image1,2); % 图像的宽
image1=double(image1);
image2=double(image2);
MSE_R=double(zeros(row,col));
MSE_G=double(zeros(row,col));
MSE_B=double(zeros(row,col));
image1_R=image1(:,:,1);  % R通道
image1_G=image1(:,:,2);  % G通道
image1_B=image1(:,:,3);  % B通道
image2_R=image2(:,:,1);
image2_G=image2(:,:,2);
image2_B=image2(:,:,3);
% 计算RGB图像三个通道每个通道的MSE值再求平均值
for i=1:row
    for j=1:col
        MSE_R(i,j)=(image1_R(i,j)-image2_R(i,j))^2;
        MSE_G(i,j)=(image1_G(i,j)-image2_G(i,j))^2;
        MSE_B(i,j)=(image1_B(i,j)-image2_B(i,j))^2;
    end
end
MSE_RGB=sum(MSE_R(:))+sum(MSE_G(:))+sum(MSE_B(:)); % 将RGB三个通道计算的MSE值相加,注意(:)的用法
msevalue=MSE_RGB/(row*col); % 求出三个通道的平均MSE值
end 

2、方法二:grayMSE.m

function msevalue = grayMSE(image1,image2)
% image1和image2大小相等
row=size(image1,1); % 图像的长
col=size(image1,2); % 图像的宽
image1=double(image1);
image2=double(image2);
msevalue=sum(sum((image1-image2).^2))/(row*col);
end

3、方法三:rgbgrayMSE.m

function msevalue = rgbgrayMSE(image1,image2)
% image1和image2大小相等
row=size(image1,1); % 图像的长
col=size(image1,2); % 图像的宽

% 一定要注意转为double类型
image1=double(image1);
image2=double(image2);

dim=length(size(image1));% 图像的维度
if dim==2    % 灰度图像只有二维,彩色图像有三维
    sum_mse=sum(sum((image1-image2).^2));% 两次使用sum()函数,第一次使用sum将每行值相加,第二次使用sum将每行值的和再次相加
else
    sum_mse=sum(sum(sum((image1-image2).^2)));% 三次使用sum()函数,第一次使用sum将每行值相加,第二次使用sum将每行值的和再次相加,第三次使用sum将每个通道值的和再次相加
end
msevalue=sum_mse/(row*col);
end

4、方法四:NMSE.m

function nmsevalue = NMSE(image1,image2)
% 在归一化MSE时,使用不到图像的长和宽,因为约分相消
% image1和image2大小相等
% row=size(image1,1); % 图像的长
% col=size(image1,2); % 图像的宽

% 一定要注意转为double类型
image1=double(image1);
image2=double(image2);

dim=length(size(image1));% 图像的维度

if dim==2    % 灰度图像只有二维,彩色图像有三维
    sum_mse1=sum(sum((image1-image2).^2));% 两次使用sum()函数,第一次使用sum将每行值相加,第二次使用sum将每行值的和再次相加
    sum_mse2=sum(sum(image1.^2));
else
    sum_mse1=sum(sum(sum((image1-image2).^2)));% 三次使用sum()函数,第一次使用sum将每行值相加,第二次使用sum将每行值的和再次相加,第三次使用sum将每个通道值的和再次相加
    sum_mse2=sum(sum(sum(image1.^2)));
end
nmsevalue=sum_mse1/sum_mse2;
end

5、主函数main.m

clc;clear;close all;
rgbimage=imread('boy.jpg');
attack_rgbimage=imnoise(rgbimage,'salt & pepper',0.01);
figure(1),
subplot(121),imshow(rgbimage);
title('原始图像');
subplot(122),imshow(attack_rgbimage);
title('噪声攻击图像');

grayimage=rgb2gray(imread('boy.jpg'));
attack_grayimage=imnoise(grayimage,'salt & pepper',0.01);
figure(2),
subplot(121),imshow(grayimage);
title('原始图像');
subplot(122),imshow(attack_grayimage);
title('噪声攻击图像');
% =============rgbMSE.m============= %
msevalue1 = rgbMSE(rgbimage,attack_rgbimage);
disp('RGB图像的均方误差:');
disp(msevalue1);
% =============immse============= %
msevalue2 = immse(rgbimage,attack_rgbimage);% immse函数为matlab内置函数,err = immse(X,Y)计算数组 XY 之间的均方误差 (MSE).其将所有图像当成灰度图像处理
disp('matlab函数的均方误差:');
disp(msevalue2);
% =============grayMSE.m============= %
msevalue3 = grayMSE(grayimage,attack_grayimage);
disp('灰度图像的均方误差:');
disp(msevalue3);
% =============rgbgrayMSE.m============= %
msevalue4 = rgbMSE(rgbimage,attack_rgbimage);
disp('RGB图像的均方误差:');
disp(msevalue4);

msevalue5 = grayMSE(grayimage,attack_grayimage);
disp('灰度图像的均方误差:');
disp(msevalue5);
% =============NMSE.m============= %
nmsevalue1 = NMSE(rgbimage,attack_rgbimage);
disp('RGB图像的归一化均方误差:');
disp(nmsevalue1);

nmsevalue2 = NMSE(grayimage,attack_grayimage);
disp('灰度图像的归一化均方误差:');
disp(nmsevalue2);

三、实现结果分析

1、输出结果

RGB图像:
图像处理之图像质量评价指标MSE(均方误差)
对应灰度图像:
图像处理之图像质量评价指标MSE(均方误差)
各种方法输出的MSE值:
图像处理之图像质量评价指标MSE(均方误差)
2、结果分析

1、注意每次运行主函数main.m文件,输出的MSE值都会有细微差别,可以对比上下两张图。
图像处理之图像质量评价指标MSE(均方误差)
2、仅以椒盐噪声的参数为讨论,我们将主函数main.m文件椒盐噪声的方差改为0.001,可以与上方得到方差为0.01的MSE结果进行对比,可以看出得到的MSE要小很多,表示图像质量更好。

图像处理之图像质量评价指标MSE(均方误差)
3、利用matlab的内置函数immse计算的灰度图像MSE比我们自己写的方法计算的灰度图像MSE要大一些。

4、本质上,方法三是方法一和方法二的结合体。

PS:MSE是我们机器学习中常使用的L2 损失文章来源地址https://www.toymoban.com/news/detail-447961.html

到了这里,关于图像处理之图像质量评价指标MSE(均方误差)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)

    图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比) 峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)是图像超分辨率等图像处理任务中常用的一个指标,用来评估图像质量。PSNR的值越高,表示失真越小,图像质量越好。 PSNR是通过对比原图像和处理后图像的每个像素的差异来

    2024年02月06日
    浏览(31)
  • 损失函数——均方误差(Mean Squared Error,MSE)

    均方误差(Mean Squared Error,MSE): MSE是回归任务中常用的损失函数,它衡量模型预测值与实际值之间的平均平方误差。 具体来说,MSE的计算公式如下: 其中,n是样本数量,xi是第i个样本的真实值,yi是模型对第i个样本的预测值。 MSE的值越小,说明模型的预测值与真实值之

    2023年04月24日
    浏览(32)
  • 均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)、决定系数(R²)解释

      各拟合方式解释: 均方误差(Mean Squared Error,MSE)是一种常用的衡量模型预测值与实际观测值之间差异的指标,用于评估模型在给定数据上的拟合程度。MSE 是通过计算预测值与实际观测值之间差异的平方的平均值得到。 MSE 的计算步骤如下: 1、对于每个观测值,计算模型

    2024年02月14日
    浏览(45)
  • 图像质量指标:PSNR、SSIM、MSE

           方法描述:有两幅图像patch(当然也可是整幅图像),分别计算两幅图像的直方图,并将直方图进行归一化,然后按照某种距离度量的标准进行相似度的测量。 方法的思想:基于简单的向量相似度来对图像相似度进行度量。 优点:直方图能够很好的归一化,比如256个b

    2024年02月04日
    浏览(33)
  • MATLAB知识点: SSE: 误差平方和、 MSE: 均方误差、RMSE: 均方根误差、MAE: 平均绝对误差、MAPE: 平均绝对百分比误差、SMAPE: 对称平均绝对百分比误差、R方: 决定系数

    ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章 3.4.2 算术运算 学完了矩阵的算术运算后,我们来做一些练习。 假设真实值是向量 ,拟合值或

    2024年02月21日
    浏览(29)
  • 计算机视觉:图像质量评价指标之 PSNR 和 SSIM

    由上可见,PSNR相对MSE多了一个峰值,MSE是绝对误差,再加上峰值是一个相对误差指标  一般地,针对 uint8 数据,最大像素值为 255,;针对浮点型数据,最大像素值为 1。 上面是针对灰度图像的计算方法,如果是彩色图像,通常有三种方法来计算。 分别计算 RGB 三个通道的 P

    2024年02月15日
    浏览(32)
  • 图像质量的评价指标【PSNR/SSIM/LPIPS/IE/NIE/Prepetual loss】

    前言 做插帧这么久了,这几个指标还没系统的研究过,这次开一个博客写下这几个指标的区别 这里贴一个比较全的评价指标的库https://github.com/csbhr/OpenUtility/tree/c9cf713c99523c0a2e0be6c2afa988af751ad161 以以下两张图为例 预测图片 真实图片 MSE(mean squared error)均方误差 公式如下: 即两

    2024年02月13日
    浏览(29)
  • 回归模型评价指标:MSE、RMSE、MAE、R2 score

    回归模型评价指标:MSE、RMSE、MAE、 R 2 R^2 R 2 score 提示: 回归模型的性能的评价指标主要有:RMSE(平方根误差)、MAE(平均绝对误差)、MSE(平均平方误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏,这就需要用到R2_score。 (MAE)Mean Absolute Error,是绝对误差的平

    2024年02月12日
    浏览(25)
  • 图像处理之高质量缩放(抗锯齿)

     1.介绍     在做图像处理过程中,我们有时会将图像缩小之后再进行处理,常用的开源图像算法包“Opencv”已经带有resize函数,用起来也是很容易上手的。     对于Opencv中函数原型:cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])     参数:     interpolation - 插值方法,共有

    2024年02月04日
    浏览(29)
  • 图像处理中常用的相似度评估指标

    导读 有时候我们想要计算两张图片是否相似,而用来衡量两张图片相似度的算法也有很多,例如: RMSE 、 PSNR 、 SSIM 、 UQI 、 SIFT 以及 深度学习 等。这篇文章主要介绍, RMSE 、 PSNR 、 SSIM 、 UQI 这些指标的计算和应用,关于 SIFT 算法来计算图像的相似度在后面的文章中再进行

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包