psnr的定義和python實現


  psnr是“Peak Signal to Noise Ratio”的縮寫,即峰值信噪比,是一種評價圖像的客觀標准,它具有局限性,一般是用於最大值信號和背景噪音之間的一個工程項目。

  peak的中文意思是頂點。而ratio的意思是比率或比列的。整個意思就是到達噪音比率的頂點信號,psnr一般是用於最大值信號和背景噪音之間的一個工程項目。通常在經過影像壓縮之后,輸出的影像都會在某種程度與原始影像不同。為了衡量經過處理后的影像品質,我們通常會參考PSNR值來衡量某個處理程序能否令人滿意。它是原圖像與被處理圖像之間的 均方誤差相對於(2^n-1)^2的對數值(信號最大值的平方,n是每個采樣值的比特數),它的單位是dB。 MATLAB用法的公式如下:
PSNR=10*log10((2^n-1)^2/MSE)
數學公式如下圖所示:
其中,MSE是原圖像與處理圖像之間均方誤差。
psnr psnr
  Peak就是指8bits表示法的最大值255。MSE指MeanSquareError,I(角標n)指原始影像第n個pixel值,P(角標n)指經處理后的影像第n個pixel值。PSNR的單位為dB。所以PSNR值越大,就代表失真越少
  優缺點:
  PSNR是最普遍,最廣泛使用的評鑒 畫質的客觀量測法,不過許多實驗結果都顯示,PSNR的分數無法和人眼看到的視覺品質完全一致,有可能PSNR較高者看起來反而比PSNR較低者差。這是因為人眼的視覺對於誤差的敏感度並不是絕對的,其感知結果會受到許多因素的影響而產生變化(例如:人眼對 空間頻率較低的對比差異敏感度較高,人眼對 亮度對比差異的敏感度較色度高,人眼對一個區域的感知結果會受到其周圍鄰近區域的影響)。
  python代碼:
 
參考文檔:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM