SSIM : 值越接近1,说明图像越相似
PSNR:PSNR越大说明失真越少,生成图像的质量越好
MES:MSE值越小,说明图像越相似
环境安装:
pip install scikit-image
from skimage.metrics import structural_similarity as compare_ssim
from skimage.metrics import peak_signal_noise_ratio as compare_psnr
from skimage.metrics import mean_squared_error as compare_mse
import cv2
import os
def getSimi(img1,img2):
print(img1.shape)
print(img2.shape)
# ssim = compare_ssim(img1, img2, multichannel=True)
ssim = compare_ssim(img1, img2, channel_axis=-1)
psnr = compare_psnr(img1, img2)
mse = compare_mse(img1, img2)
return ssim, psnr,mse
img1 = cv2.imread(img_path)
img1 = cv2.resize(img1, (512, 512), interpolation=cv2.INTER_AREA) #resize images
ssim, psnr,mse = getSimi(img1,source_img)
需要注意的是,这些相似性评估指标的计算,要求图像具有相同的shape。