图片质量评估指标:

  1. 均方误差(Mean Square Error,MSE):均方误差是原始图像与降噪后图像像素值之间差的平方和的平均值。MSE越小,降噪效果越好。

  2. 峰值信噪比(Peak Signal-to-Noise Ratio,PSNR):峰值信噪比是原始图像与降噪后图像像素值之间差的平方和的平均值的倒数。PSNR越大,降噪效果越好。

  3. 结构相似度指数(Structural Similarity Index,SSIM):结构相似度指数是一种比较两幅图像相似度的指标,同时考虑了亮度、对比度和结构三个方面。SSIM越接近1,降噪效果越好。

  4. 信噪比(Signal-to-Noise Ratio,SNR)

  5. 感知质量指数(Perceptual Image Quality,PIQ)是一种主观图像质量评估方法,用于度量人类视觉系统对图像质量的感知。

    import cv2
    # from skimage.measure import compare_ssim
    from skimage.metrics import structural_similarity as ssim
    from skimage import io, measure
    # import numpy as np
    #
    # def PSNR(original, processed):
    #     mse = np.mean((original - processed) ** 2)
    #     print(mse)
    #     if mse == 0:
    #         return 100
    #     max_pixel = 255.0
    #     psnr = 20 * np.log10(max_pixel / np.sqrt(mse))
    #     return psnr
    
    original = cv2.imread(r'D:\YWJ\6_jiaoben_set\huang_file1025\图片\10_21_148.jpg')
    processed = cv2.imread(r'D:\YWJ\6_jiaoben_set\huang_file1025\317.jpg')
    # PSNR(original,processed)
    # print(PSNR(original,processed))
    
    import numpy as np
    # 信噪比(Signal-to-Noise Ratio,SNR) 越高越好
    def calculate_snr(original, processed):
        signal = np.mean(original)
        noise = np.mean(original - processed)
        snr = 20 * np.log10(signal / noise)
        return snr
    print('SNR: ',calculate_snr(original, processed))
    
    # 峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)  越高越好 30db以上可以
    def PSNR(original, processed):
        mse = np.mean((original - processed) ** 2)
        print('mse',mse)
        if mse == 0:
            return 100
        max_pixel = 255.0
        psnr = 20 * np.log10(max_pixel / np.sqrt(mse))
        return psnr
    print('PSNR: ',PSNR(original, processed))
    
    # 结构相似度指数(Structural Similarity Index,SSIM)
    # 读取两幅图像
    # img1 = cv2.imread('img1.jpg')
    # img2 = cv2.imread('img2.jpg')
    
    # 将图像转为灰度图像
    gray_img1 = cv2.cvtColor(original, cv2.COLOR_BGR2GRAY)
    gray_img2 = cv2.cvtColor(processed, cv2.COLOR_BGR2GRAY)
    
    # 计算SSIM指数  越靠近1越好
    ssim = ssim(gray_img1, gray_img2)
    
    print("SSIM: {:.2f}".format(ssim))
    
    # from skimage import io, measure
    
    # 读取两张图像
    # img1 = io.imread('image1.jpg', as_gray=True)
    # img2 = io.imread('image2.jpg', as_gray=True)
    
    # 计算结构相似度指数(SSIM)
    # ssim1 = ssim(original, processed, data_range=processed.max() - processed.min(), multichannel=True)
    
    # 计算感知质量指数(PIQ) 越低越好。
    piq = 10 * (1 - ssim)
    
    print("PIQ: {:.2f}".format(piq))
    
    

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值