1、简介
SSIM是一种全参考的图像质量评价指标,分别从亮度、对比度、结构三个方面度量图像相似性。
SSIM取值范围[0, 1],值越大,表示图像失真越小。
在实际应用中,可以利用滑动窗将图像分块,令分块总数为N。
考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,
然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性SSIM。
2、代码示例
import imageio.v2 as imageio import numpy as np from skimage.metrics import structural_similarity as SSIM # from skimage.metrics import peak_signal_noise_ratio as PSNR # 读取图片 img_cp1 = imageio.imread('WD1.png') img_cp2 = imageio.imread('WD2.png') img_cp2 = np.resize(img_cp2, (img_cp1.shape[0], img_cp1.shape[1], img_cp1.shape[2])) print(img_cp1.shape) print(img_cp2.shape) # 将通道纬度告诉channel_axis ssim = SSIM(img_cp1, img_cp2, multichannel=True, channel_axis=2) print(ssim)