psnr

psnr

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

基本介紹

  • 中文名: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)
數學公式如下圖所示:
psnr
其中,MSE是原圖像與處理圖像之間均方誤差。
psnrpsnr
Peak就是指8bits表示法的最大值255。MSE指MeanSquareError,I(角標n)指原始影像第n個pixel值,P(角標n)指經處理後的影像第n個pixel值。PSNR的單位為dB。所以PSNR值越大,就代表失真越少。

優缺點

PSNR是最普遍,最廣泛使用的評鑑畫質的客觀量測法,不過許多實驗結果都顯示,PSNR的分數無法和人眼看到的視覺品質完全一致,有可能PSNR較高者看起來反而比PSNR較低者差。這是因為人眼的視覺對於誤差的敏感度並不是絕對的,其感知結果會受到許多因素的影響而產生變化(例如:人眼對空間頻率較低的對比差異敏感度較高,人眼對亮度對比差異的敏感度較色度高,人眼對一個區域的感知結果會受到其周圍鄰近區域的影響)。

實現

PSNR的Matlab實現
function PSNR = psnr(f1, f2)
%計算兩幅圖像的峰值信噪比
k = 8;
%k為圖像是表示地個像素點所用的二進制位數,即位深。
fmax = 2.^k - 1;
a = fmax.^2;
MSE =(double(im2uint8(f1)) -double( im2uint8(f2))).^2;
b = mean(mean(MSE));
PSNR = 10*log10(a/b);

相關詞條

熱門詞條

聯絡我們