python计算psnr

PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下:

技术分享

技术分享

这里的MAX通常是图像的灰度级,一般就是255了。

#coding:utf-8
import numpy

def psnr(im1,im2):
    diff = numpy.abs(im1 - im2)
    rmse = numpy.sqrt(diff).sum()
    psnr = 20*numpy.log10(255/rmse)
    return psnr

x = numpy.array([[1,2],[3,4]])
print x
y = numpy.array([[5,6],[7,8]])
print y

psnr = psnr(x,y)
print psnr

 

文章来自:http://www.cnblogs.com/anyview/p/5594810.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3