画像類似性評価:SSIM、PSNR、MES、Pythonコード実装

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)

なお、これらの類似性評価指標の計算には、画像の形状が同一であることが必要である。

おすすめ

転載: blog.csdn.net/NGUever15/article/details/130974571