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.C()
#评价PSNR, SAM, ERGAS, SSIM, RMSE
PSNR,SAM,ERGAS,SSIM,RMSE = 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],]

#评价SSIM:
CC = Metric.SSIM(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],]
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曹栩珩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值