Python光谱图像评价指标SAM, PSNR, MSE, SSIM, CC, ERGAS(imgvision1.7.3)

光谱图像客观评价指标

SAM光谱角制图、PSNR峰值信噪比、MSE均方误差、SSIM结构相似性、CC相关系数、ERGAS相对全局无量纲误差是用于评价光谱图像重建的定量评价指标。本文旨在通过最简单的方式对两张光谱图像或RGB图像进行快速评价。
imgvision库用于进行图像处理与质量评价。该库仅基于Numpy库进行编写,通过矩阵的方式对图像进行快速处理,包括不限于光谱图像的不同光源下颜色空间转换、RGB图像不同光源下的色空间转换、光谱图像余弦距离的监督聚类、图像的质量评价等。

安装imgvision 1.7.3

imgvision在1.6.1版本后支持图像的质量评价。通过pycharm的Terminal或配置的虚拟环境进行安装:

pip install imgvision

[imgvision 1.7.3] 图像客观质量评价

更新: 增加了相关性(CC)指标,支持‘mat’模式;

import numpy as np
import imgvision as iv
#导入高光谱图像以及重建图像
Hyperspectral_Image = np.load('HSI.npy') 
Reconstruction =  np.load('Re_HSI')
#创建评价器
	#图像范围 0~1 时, 默认v_max=1,不需填入参数
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction)
	#图像范围 0~255 时, v_max=255
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction,v_max=255)
	#对于ERGAS指标,创建评价器时传入融合缩放因子scale(scale=8 为8倍缩放因数,默认16)
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction,scale=8) 
#评价SAM:
SAM = Metric.SAM()
#评价PSNR:
PSNR = Metric.PSNR()
#评价SSIM:
SSIM = Metric.SSIM() 
#评价ERGAS:
ERGAS = Metric.ERGAS()
#评价MSE:
MSE = Metric.MSE()
#评价CC:
CC = Metric.CC()
#评价PSNR, SAM, ERGAS, SSIM, RMSE, CC
PSNR,SAM,ERGAS,SSIM,RMSE,CC = Metric.get_Evaluation()
#直接打印评价结果:
Metric.Evaluation()

mat模式

在SAM, MSE, CC指标中,mat模式用于获取图像每个像素的指标值。
在PSNR, SSIM指标中,mat模式用于获取图像每个波段的指标值。
想获取每个像素的SAM、MSE值?
想获取每个波段的PSNR、SSIM值?
'mat’帮助你更好的分析图像全局视觉质量。

import numpy as np
import imgvision as iv
#导入高光谱图像以及重建图像
Hyperspectral_Image = np.load('HSI.npy') 
Reconstruction =  np.load('Re_HSI')
#创建评价器
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction)
#评价SAM:
SAM = Metric.SAM(mode='mat')
#SAM.shape = [Hyperspectral_Image.shape[0], Hyperspectral_Image.shape[1],]
#评价MSE:
MSE = Metric.MSE(mode='mat')
#MSE.shape = [Hyperspectral_Image.shape[0], Hyperspectral_Image.shape[1],]

#评价CC:
CC = Metric.CC(mode='mat')
#CC.shape = [Hyperspectral_Image.shape[0], Hyperspectral_Image.shape[1],]

#评价PSNR:
PSNR = Metric.PSNR(mode='mat')
#PSNR.shape = [Hyperspectral_Image.shape[-1],]

#评价SSIM:
SSIM = Metric.SSIM(mode='mat')  #图像像素范围的最大值为1时
#SSIM.shape = [Hyperspectral_Image.shape[-1],]

Previous历史版本 [imgvision 1.7.0] 图像客观质量评价

import numpy as np
import imgvision as iv
#导入高光谱图像以及重建图像
Hyperspectral_Image = np.load('HSI.npy') 
Reconstruction =  np.load('Re_HSI')
#创建评价器
	#图像范围 0~1 时, 默认v_max=1,不需填入参数
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction)
	#图像范围 0~255 时, v_max=255
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction,v_max=255)
	#对于ERGAS指标,创建评价器时传入融合缩放因子scale(scale=8 为8倍缩放因数,默认16)
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction,scale=8) 
#评价SAM:
SAM = Metric.SAM()
#评价PSNR:
PSNR = Metric.PSNR()
#评价SSIM:
SSIM = Metric.SSIM() 
#评价ERGAS:
ERGAS = Metric.ERGAS()
#评价MSE:
MSE = Metric.MSE()
#评价PSNR, SAM, ERGAS, SSIM, RMSE
PSNR,SAM,ERGAS,SSIM,RMSE = Metric.get_Evaluation()
#直接打印评价结果:
Metric.Evaluation()

mat模式

在SAM, MSE指标中,mat模式用于获取图像每个像素的指标值。
在PSNR, SSIM指标中,mat模式用于获取图像每个波段的指标值。
想获取每个像素的SAM、MSE值?
想获取每个波段的PSNR、SSIM值?
'mat’帮助你更好的分析图像全局视觉质量。

import numpy as np
import imgvision as iv
#导入高光谱图像以及重建图像
Hyperspectral_Image = np.load('HSI.npy') 
Reconstruction =  np.load('Re_HSI')
#创建评价器
Metric = iv.spectra_metric(Hyperspectral_Image,Reconstruction)
#评价SAM:
SAM = Metric.SAM(mode='mat')
#SAM.shape = [Hyperspectral_Image.shape[0]*Hyperspectral_Image.shape[1],]
#评价MSE:
MSE = Metric.MSE(mode='mat')
#MSE.shape = [Hyperspectral_Image.shape[0]*Hyperspectral_Image.shape[1],]

#评价PSNR:
PSNR = Metric.PSNR(mode='mat')
#PSNR.shape = [Hyperspectral_Image.shape[-1],]

#评价SSIM:
SSIM = Metric.SSIM(mode='mat')  #图像像素范围的最大值为1时
#SSIM.shape = [Hyperspectral_Image.shape[-1],]
### 回答1: PSNR(峰值信噪比)和SSIM(结构相似性)是图像质量评价的两个重要指标。 PSNR是一种用于度量图像质量的指标,通过计算原始图像与经过压缩或处理后的图像之间的峰值信噪比来评估图像的失真程度。峰值信噪比是指信号的最大可能功率与表示这个信号的系统的噪声功率之比。PSNR的计算公式为: PSNR = 10 * log10((最大可能像素值)² / MSE) 其中最大可能像素值是指原始图像中像素的最大值,MSE是均方差,用于度量两个图像之间的差异程度。 SSIM是一种统计方法,用于比较两个图像的结构相似性。它不仅考虑图像的亮度信息,还考虑图像的对比度和结构信息。SSIM计算过程中引入了三个关键的组成部分:亮度相似性、对比度相似性和结构相似性。SSIM的计算公式为: SSIM(x, y) =(2μxμy + C1)(2σxy + C2)/(μx² + μy² + C1)(σx² + σy² + C2) 其中,x和y分别代表两个图像,μx和μy分别代表x和y的平均值,σx²和σy²分别代表x和y的方差,σxy代表x和y的协方差,C1和C2是常数用来稳定计算。 PSNRSSIM是常用的图像质量评价指标PSNR主要用于比较两个图像之间的失真程度,数值越大表示失真越小;而SSIM主要用于比较两个图像之间的结构相似性,数值越接近1表示结构相似性越高。综合应用这两个指标可以更全面地评价图像质量。 ### 回答2: PSNR(Peak Signal-to-Noise Ratio)是一种用于评估图像质量的指标,它通过比较原始图像与经过压缩或失真处理后的图像之间的均方误差,来衡量图像的失真程度。PSNR的计算公式为: PSNR = 10 * log10 (MAX^2 / MSE) 其中 MAX 表示像素数据的最大可能取值,MSE 表示均方误差,即原始图像与失真图像之间每个像素值差的平方的均值。PSNR的值通常以分贝(dB)为单位,数值越大表示图像质量越好。 而 SSIM(Structural Similarity Index)是一种比较图像结构相似性的指标,它主要关注图像的亮度、对比度和结构等方面。SSIM的计算公式为: SSIM = (2 * μx * μy + C1) * (2 * σxy + C2) / (μx^2 + μy^2 + C1) * (σx^2 + σy^2 + C2) 其中 μx 和 μy 表示原始图像和失真图像的亮度平均值,σx 和 σy 表示原始图像和失真图像的方差,σxy 表示原始图像和失真图像的协方差,C1 和 C2 是常数,用于避免分母为零。SSIM的取值范围为[-1, 1],值越接近1表示图像质量越好。 PSNRSSIM是两种常用的图像质量评价指标PSNR主要关注图像的失真程度,适用于需要精确度和灵敏度的场景;而SSIM则关注图像的结构相似性,适用于需要保留图像细节和结构的场景。综合使用PSNRSSIM可以更全面地评价图像的质量。 ### 回答3: 图像质量评价指标是衡量图像质量好坏的方法,其中PSNRSSIM是两个常用的评价指标PSNR(Peak Signal-to-Noise Ratio)是一种用于测量图像失真程度的指标。它计算图像与原始图像之间的峰值信噪比,即原始图像中最大像素值与重建图像与原始图像之间的均方误差的比值。PSNR值越高,表示失真越小,图像质量越好。常用PSNR评价图像压缩算法的效果,如JPEG压缩等。 SSIM(Structural Similarity Index)是一种用于测量图像结构相似性的指标。它考虑了亮度、对比度和结构三个因素间的差异,并综合这些因素计算相似性指数。SSIM值越接近1,表示两幅图像越相似,图像质量越好。SSIM主要用于评价图像处理算法的效果,如去噪、增强等。 PSNRSSIM都是客观评价指标,对失真图像与原始图像之间的差异进行量化。它们都有各自的使用范围和场景,没有绝对优劣之分。在评价图像质量时,可以综合考虑PSNRSSIM,以及其他评价指标,综合评估图像的视觉感知质量。 需要注意的是,PSNRSSIM仅能从一定程度上反映图像质量,对于某些特殊场景或者人眼难以察觉的差异可能会存在局限性。因此,在实际应用中,还需要结合人眼主观评价、其他更多的评价指标以及具体的应用需求来全面评价图像的质量。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曹栩珩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值