两种常用的全参考图像质量评价指标——峰值信噪比(PSNR)和结构相似性(SSIM)
原文:https://blog.csdn.net/zjyruobing/article/details/49908979
1.PSNR(Peak Signal to Noise Ratio)峰值信噪比:
MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;
PSNR的单位是dB,数值越大表示失真越小。n为每像素的比特数,一般的灰度图像取8,即像素灰阶数为256.
PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
Matlab的函数代码实现如下:
function [ out ] = psnr( X,Y )
[ m,n ] = size( X );
mse = sum(( double(X(:)) - double(Y(:)) ).^2);
mse = mse/(m*n);
out = 10*log10((255*255)/mse);
end
2.SSIM(Structural Similarity)结构相似性:
μX、μY分别表示图像X和Y的均值,σX、σY分别表示图像X和Y的方差,σXY表示图像X和Y的协方差,即 :
SSIM分别从亮度、对比度、结构三方面度量图像相似性。
C1、C2、C3为常数,为了避免分母为0的情况,通常取C1=(K1∗L)2, C2=(K2∗L)2, C3=C22, 一般地K1=0.01, K2=0.03, L=255 则
SSIM取值范围[0,1],值越大,表示图像失真越小.
SSIM的特殊形式如下:
3、MSSIM(Mean Structural Similarity )平均结构相似性
在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用加权计算每一窗口的均值、方差以及协方差,权值wij满足∑i∑jwij=1,通常采用高斯核,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:
Matlab的函数实现代码如下:
function [mssim, ssim_map] = ssim_index(img1, img2, K, window, L)
C1 = (K(1)*L)^2;
C2 = (K(2)*L)^2;
window = window/sum(sum(window));
img1 = double(img1);
img2 = double(img2);mu1 = filter2(window, img1, 'valid');
mu2 = filter2(window, img2, 'valid');
mu1_sq = mu1.*mu1;
mu2_sq = mu2.*mu2;
mu1_mu2 = mu1.*mu2;
sigma1_sq = filter2(window, img1.*img1, 'valid') - mu1_sq;
sigma2_sq = filter2(window, img2.*img2, 'valid') - mu2_sq;
sigma12 = filter2(window, img1.*img2, 'valid') - mu1_mu2;if (C1 > 0 & C2 > 0)ssim_map = ((2*mu1_mu2 + C1).*(2*sigma12 + C2))./((mu1_sq + mu2_sq + C1).*(sigma1_sq + sigma2_sq + C2));
elsenumerator1 = 2*mu1_mu2 + C1;numerator2 = 2*sigma12 + C2;denominator1 = mu1_sq + mu2_sq + C1;denominator2 = sigma1_sq + sigma2_sq + C2;ssim_map = ones(size(mu1));index = (denominator1.*denominator2 > 0);ssim_map(index) = (numerator1(index).*numerator2(index))./(denominator1(index).*denominator2(index));index = (denominator1 ~= 0) & (denominator2 == 0);ssim_map(index) = numerator1(index)./denominator1(index);
endmssim = mean2(ssim_map);return
两种常用的全参考图像质量评价指标——峰值信噪比(PSNR)和结构相似性(SSIM)相关推荐
- matlab snr mse,MATLAB 均方根误差MSE、两图像的信噪比SNR、峰值信噪比PSNR、结构相似性SSIM...
今天的作业是求两幅图像的MSE.SNR.PSNR.SSIM.代码如下: clc; close all; X = imread('q1.tif');% 读取图像 Y=imread('q2.tif'); ...
- 图像增强评价指标学习之——结构相似性SSIM
SSIM(structural similarity index),结构相似性,是一种衡量两幅图像相似度的指标.该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Im ...
- 两种常用的参考图像质量评价指标——超分辨率(五)
两种常用的参考图像质量评价指标 PSNR(Peak Signal to Noise Ratio)峰值信噪比: 峰值信噪比(PSNR)是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的 ...
- 归一化mysql函数_数据归一化和两种常用的归一化方法
数据归一化和两种常用的归一化方法 一.总结 一句话总结: min-max标准化:x* =(x-min)/(max-min):新数据加入,需重新计算max和min Z-score标准化:x* =(x-μ ...
- Windows校验文件哈希hash的两种常用方式
大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...
- 数据中心两种常用流量模型运用mininet的实现
为什么80%的码农都做不了架构师?>>> 编者按:在网络性能评估中一个巨大的挑战就是如何生成真实的网络流量,还好可以通过程序来创造人工的网络流量,通过建立测试环境来模拟真实的状 ...
- html中img显示图片的两种常用方式
html中img显示图片的两种常用方式 显示图片,尤其是二维码的时候,大都是自动生成的,所以就需要能够从后台返回字符串,前台浏览器进行解析.好了,下面是这两种方式. 1. <img src=&q ...
- R中两种常用并行方法——2. snowfall
上一篇博客(R中两种常用并行方法--1. parallel)中已经介绍了R中常见的一种并行包:parallel,其有着简单便捷等优势,其实缺点也是非常明显,就是很不稳定.很多时候我们将大量的计算任务挂 ...
- 数据归一化及两种常用归一化方法
数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可 ...
最新文章
- 曾获Jolt大奖,“Python之父”龟叔推荐的书,又双叒叕更新了
- P2P中DHT网络原理
- packettotal.com - PacketTotal - A Free Online PCAP Analysis Engine
- 实用:Google Chrome 键盘快捷键大全
- sqlserver死锁解决的存储过程
- SAP UI5 应用开发教程之五十一 - 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用
- append在python里是什么意思_“一棵绿萝七个鬼”是什么意思?卧室里到底能不能养绿萝!...
- 统考计算机和英语百度网盘,《计算机专业英语》在线考试系统
- 如何weak link一个framework (高版本兼容低版本)
- android 可执行程序 root权限,非Root权限的Android上运行可执行文件
- Sql面试50题 详解 持续更新
- XMind初使用【常规操作快捷键】
- 2FSK频谱matlab,数字调制系统在Matlab下的分析
- pdf文档页码怎么添加
- python如何提交作业_提交作业
- 牛逼!女生怒考 692 分,想当程序员,卷了卷了。。
- android 拨打电话 实例,Android实战教程第三篇之简单实现拨打电话功能
- 为什么我们求职 找工作 一定要写好简历?
- 打字游戏c语言easyx,打字小游戏(天降字母)Visual Studio+EasyX
- IT项目管理那些事儿读书笔记
热门文章
- linux使用教程PDF,腾讯、阿里Java高级面试真题汇总
- tomcat配置BIO,NIO和APR
- jquery给lable赋值
- elasticsearch查询报错411状态码 The requested URL could not be retrieved
- 用友NC创建表空间、用户、授权
- Fedora 安装VBoxGuestAdditions
- JSON 字符串是如何被解析的?JsonParser 了解一下
- 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满问题处理方式
- HTML5+CSS3小实例:简约不简单的社交分享按钮
- 塞瓦维斯特定理(不定方程)