日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图像质量评价指标之 PSNR 和 SSIM

發(fā)布時間:2023/12/13 综合教程 47 生活家
生活随笔 收集整理的這篇文章主要介紹了 图像质量评价指标之 PSNR 和 SSIM 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比

給定一個大小為 (m×n) 的干凈圖像 (I) 和噪聲圖像 (K),均方誤差 ((MSE)) 定義為:

[MSE = frac{1}{mn}sum_{i=0}^{m-1}sum_{j=0}^{n-1}[I(i, j)-K(i,j)]^2
]

然后 (PSNR (dB)) 就定義為:

[PSNR = 10 cdot log_{10}(frac{MAX_I^2}{MSE})
]

其中 (MAX_I^2) 為圖片可能的最大像素值。如果每個像素都由 8 位二進制來表示,那么就為 255。通常,如果像素值由 (B) 位二進制來表示,那么 (MAX_I = 2^B-1)。

一般地,針對 uint8 數(shù)據(jù),最大像素值為 255,;針對浮點型數(shù)據(jù),最大像素值為 1。

上面是針對灰度圖像的計算方法,如果是彩色圖像,通常有三種方法來計算。

分別計算 RGB 三個通道的 PSNR,然后取平均值。
計算 RGB 三通道的 MSE ,然后再除以 3 。
將圖片轉(zhuǎn)化為 YCbCr 格式,然后只計算 Y 分量也就是亮度分量的 PSNR。

其中,第二和第三種方法比較常見。

# im1 和 im2 都為灰度圖像,uint8 類型

# method 1
diff = im1 - im2
mse = np.mean(np.square(diff))
psnr = 10 * np.log10(255 * 255 / mse)

# method 2
psnr = skimage.measure.compare_psnr(im1, im2, 255)

compare_psnr(im_true, im_test, data_range=None) 函數(shù)原型可見此處

針對超光譜圖像,我們需要針對不同波段分別計算 PSNR,然后取平均值,這個指標稱為 MPSNR。

2. SSIM (Structural SIMilarity) 結(jié)構(gòu)相似性

(SSIM) 公式基于樣本 (x) 和 (y) 之間的三個比較衡量:亮度 (luminance)、對比度 (contrast) 和結(jié)構(gòu) (structure)。

[l(x,y) = frac{2mu_x mu_y + c_1}{mu_x^2+ mu_y^2 + c_1}
]

[c(x,y) = frac{2sigma_x sigma_y + c_2}{sigma_x^2+ sigma_y^2 + c_2}
]

[s(x,y) = frac{sigma_{xy} + c_3}{sigma_x sigma_y + c_3}
]

一般取 (c_3 = c_2 / 2)。

(mu_x) 為 (x) 的均值
(mu_y) 為 (y) 的均值
(sigma_x^2) 為 (x) 的方差
(sigma_y^2) 為 (y) 的方差
(sigma_{xy}) 為 (x) 和 (y) 的協(xié)方差
(c_1 = (k_1L)^2, c_2 = (k_2L)^2) 為兩個常數(shù),避免除零
(L) 為像素值的范圍,(2^B-1)
(k_1=0.01, k_2=0.03) 為默認值

那么

[SSIM(x, y) = [l(x,y)^{alpha} cdot c(x,y)^{eta} cdot s(x,y)^{gamma}]
]

將 (alpha,eta,gamma) 設(shè)為 1,可以得到

[SSIM(x, y) = frac{(2mu_x mu_y + c_1)(2sigma_{xy}+c_2)}{(mu_x^2+ mu_y^2 + c_1)(sigma_x^2+sigma_y^2+c_2)}
]

每次計算的時候都從圖片上取一個 (N×N) 的窗口,然后不斷滑動窗口進行計算,最后取平均值作為全局的 SSIM。

# im1 和 im2 都為灰度圖像,uint8 類型
ssim = skimage.measure.compare_ssim(im1, im2, data_range=255)

compare_ssim(X, Y, win_size=None, gradient=False, data_range=None, multichannel=False, gaussian_weights=False, full=False, **kwargs) 函數(shù)原型可見此處

針對超光譜圖像,我們需要針對不同波段分別計算 SSIM,然后取平均值,這個指標稱為 MSSIM。

獲取更多精彩,請關(guān)注「seniusen」!

總結(jié)

以上是生活随笔為你收集整理的图像质量评价指标之 PSNR 和 SSIM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。