zoukankan      html  css  js  c++  java
  • HEVC(一)psnr原理以及计算方式

    峰值信噪比经常用作图像压缩等领域中信号重建质量的测量方法,它常简单地通过均方差(MSE)进行定义。两个m×n单色图像I和K,如果一个为另外一个的噪声近似,那么它们的的均方差定义为:
    image
    其中,MAXI是表示图像点颜色的最大数值,如果每个采样点用 8 位表示,那么就是 255。

    Int   iSize   = iWidth*iHeight;//m*nd
    
        UInt64 uiSSDtemp=0;
        for(Int y = 0; y < iHeight; y++ )
        {
          for(Int x = 0; x < iWidth; x++ )
          {
            Intermediate_Int iDiff = (Intermediate_Int)( pOrg[x] - pRec[x] );//遍历获取diff
            uiSSDtemp   += iDiff * iDiff;//diff的平方
          }
          pOrg += iOrgStride;//算上图像的stride边界 边界没有内容,但是会在图像中
          pRec += iRecStride;
        }
        const Int maxval = 255 << (pcPic->getPicSym()->getSPS().getBitDepth(toChannelType(ch)) - 8);//MAXI是表示图像点颜色的最大数值,如果每个采样点用 8 位表示,那么就是 255。现在获取当前ch的采样点比特位数,并进行位移
        const Double fRefValue = (Double) maxval * maxval * iSize;//MAXi的平方除以MSE,MSE=diff*diff/size,因此psnr等价于 (MAXi的平方*size)/(diff*diff)
        dPSNR[ch]         = ( uiSSDtemp ? 10.0 * log10( fRefValue / (Double)uiSSDtemp ) : 999.99 );//这块没看懂为什么有个999.99,大概是设个INF,防止读取时为空吧
        MSEyuvframe[ch]   = (Double)uiSSDtemp/(iSize);//每个像素块的均值
    

    参考博客:
    https://blog.csdn.net/xrinosvip/article/details/88569111

  • 相关阅读:
    CS231n 学习笔记(1) Image CLassification
    caffe-winsows封装成dll
    Nuget安装程序包源
    PCA降维demo
    AI方面的国际会议
    caffe solver
    caffe数据层
    一些有意思的技术博客
    js cookie 设置
    knockout.validation.js 异步校验
  • 原文地址:https://www.cnblogs.com/wjune-0405/p/15387250.html
Copyright © 2011-2022 走看看