图片metirc中的PSNR,SSIM实现
程序员文章站
2023-12-31 18:14:34
...
用作记录,以备不时之需:
from skimage.measure import compare_ssim
def psnr(img1, img2):
assert img1.dtype == img2.dtype == np.uint8, 'np.uint8 is supposed.'
img1 = img1.astype(np.float64)
img2 = img2.astype(np.float64)
mse = np.mean((img1 - img2)**2)
if mse == 0:
return float('inf')
return 20 * math.log10(255.0 / math.sqrt(mse))
def ssim(img1, img2, multichannel=False):
assert img1.dtype == img2.dtype == np.uint8, 'np.uint8 is supposed.'
return compare_ssim(img1, img2, multichannel=multichannel)