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

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

一、RMSE基本定义

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

方法一:计算RGB图像三个通道每个通道的MSE值再求平均值,最后开根号即可

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

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

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

二、matlab实现RMSE

1、方法一:rgbRMSE.m

function rmsevalue= rgbRMSE(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值相加,注意(:)的用法
rmsevalue=sqrt(MSE_RGB/(row*col)); % 在MSE的基础上开根号
end

2、方法二:grayRMSE.m

function rmsevalue = grayRMSE(image1,image2)
% image1和image2大小相等
row=size(image1,1); % 图像的长
col=size(image1,2); % 图像的宽
image1=double(image1);
image2=double(image2);
rmsevalue=sqrt(sum(sum((image1-image2).^2))/(row*col)); % 在MSE的基础上开根号
end

3、方法三:rgbgrayRMSE.m

function rmsevalue = rgbgrayRMSE(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
rmsevalue=sqrt(sum_mse/(row*col));
end

4、方法四:NRMSE.m

function nrmsevalue = NRMSE(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_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
nrmsevalue=sqrt(sum_mse1/(row*col))/sqrt(sum_mse2/(row*col));
end

5、主函数main.m

clc;clear;close all;
rgbimage=imread('ultraman.jpg');
attack_rgbimage=imnoise(rgbimage,'gaussian',0,0.001);
figure(1),
subplot(121),imshow(rgbimage);
title('原始图像');
subplot(122),imshow(attack_rgbimage);
title('噪声攻击图像');

grayimage=rgb2gray(imread('ultraman.jpg'));
attack_grayimage=imnoise(grayimage,'gaussian',0,0.01);
figure(2),
subplot(121),imshow(grayimage);
title('原始图像');
subplot(122),imshow(attack_grayimage);
title('噪声攻击图像');
% =============rgbRMSE.m============= %
rmsevalue1 = rgbRMSE(rgbimage,attack_rgbimage);
disp('RGB图像的均方根误差:');
disp(rmsevalue1);
% =============immse============= %
rmsevalue2 = sqrt(immse(rgbimage,attack_rgbimage)); % 在使用matlab内置函数immse的基础上开根号
disp('matlab函数的均方误差:');
disp(rmsevalue2);
% =============grayRMSE.m============= %
rmsevalue3 = grayRMSE(grayimage,attack_grayimage);
disp('灰度图像的均方根误差:');
disp(rmsevalue3);
% =============rgbgrayRMSE.m============= %
rmsevalue4 = rgbgrayRMSE(rgbimage,attack_rgbimage);
disp('RGB图像的均方根误差:');
disp(rmsevalue4);

rmsevalue5 = rgbgrayRMSE(grayimage,attack_grayimage);
disp('灰度图像的均方根误差:');
disp(rmsevalue5);
% =============NRMSE.m============= %
rmsevalue6 = NRMSE(rgbimage,attack_rgbimage);
disp('RGB图像的归一化均方根误差:');
disp(rmsevalue6);

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

三、实现结果分析

1、输出结果

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

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

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

4、本质上,方法三是方法一和方法二的结合体。文章来源地址https://www.toymoban.com/news/detail-441274.html

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

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

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

相关文章

  • 计算机视觉:图像质量评价指标之 PSNR 和 SSIM

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

    2024年02月15日
    浏览(32)
  • 回归模型评价指标: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)
  • 图像质量的评价指标【PSNR/SSIM/LPIPS/IE/NIE/Prepetual loss】

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

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

     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)
  • 方差、标准差、均方差、均方根值(RMS)、均方根误差(RMSE)

    方差反映的是每个样本值与全体样本值的平均数之差的平方值的平均数。衡量随机变量或者一组数据与其期望的偏离程度。偏离程度越小,说明X的数值越稳定。也就是偏离平均数的距离的平均数,注意不是有效值( RMS )。计算公式如下: 它的数学含义为: 标准差(Standard

    2024年02月15日
    浏览(23)
  • 医学图像分割常用的评价指标

        在医学图像分割的论文中,常常看到Dice、VOE、RVD、MSD等指标,但是具体这些指标是什么意思呢,我们进行相应的简单说明。 V s e g text V_{s e g} V s e g ​ :代表预测的分割结果 V g t text V_{g t} V g t ​ :代表ground truth的分割结果     Dice 系数是一种评估相似度的函

    2024年02月08日
    浏览(24)
  • 图像去雾算法评价指标

    评价一个去雾算法的好坏,常常使用主观评价法和客观评价法。 主观评价即通过肉眼观察经过去雾处理的图像,从图像的纹理特征、对比度、饱和度及细节信息等多方面进行感官感受和评价。主观评价主要是通过人眼视觉系统的主观感受在确定好的评价基础上做出相应的判断

    2024年02月06日
    浏览(23)
  • 图像质量评价matlab实现(含代码)

    这篇是上两篇的一个延续吧,对偏振HSI伪彩色图像融合增强效果的一个评价 代码里面包含了很多种评价方式,附带一个评价说明,链接如下: 图像质量评价指标(全),可结合blog-机器学习文档类资源-CSDN下载 下面是我大作业用到了的,share!     随着经济指纹图像信息技

    2024年02月05日
    浏览(27)
  • 图像分割评价指标:Dice和MIoU

    Dice用来衡量预测结果pred和标签label的相似度,公式如下图所示,即两个集合的交集/并集。 注意:对于多分类的分割任务,网络的输出结果是多通道的,使用Dice计算准确度需要将标签转换为多通道的one_hot形式。 如果需要计算 dice loss ,只需要 1- dice_acc 即可。 可以借助 torc

    2024年02月02日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包