Python 实现图片质量比较之PSNR和SSIM
圖片質(zhì)量評(píng)價(jià)
- Python 實(shí)現(xiàn)圖片質(zhì)量比較之PSNR和SSIM
- PSNR
- skimge 實(shí)現(xiàn)
- 完示例代碼
- TensorFlow 實(shí)現(xiàn)
- SSIM
- 代碼實(shí)現(xiàn)
Python 實(shí)現(xiàn)圖片質(zhì)量比較之PSNR和SSIM
PSNR
PSNR,Peak Signal-to-Noise Ratio,峰值信噪比,是一個(gè)表示信號(hào)最大可能功率和影響它的表示精度的破壞性噪聲功率的比值的工程術(shù)語。由于許多信號(hào)都有非常寬的動(dòng)態(tài)范圍,峰值信噪比常用對(duì)數(shù)分貝單位來表示。
PSNR 是用于衡量圖像質(zhì)量的指標(biāo),比如在圖像壓縮、超分辨率重建圖像等領(lǐng)域,其是一種重要的指標(biāo).
PSNR 常簡單的通過均方誤差(MSE)來定義. 比如,對(duì)于兩張單色圖像 I 和 K,如果一個(gè)為另外一個(gè)的噪聲近似,則二者之間的均方誤差定義為:
而峰值信噪比PSNR 的定義為:
其中,MAXIMAX_IMAXI? 表示圖像點(diǎn)顏色的最大數(shù)值,如果每個(gè)采樣點(diǎn)用 8 位表示,則最大數(shù)值為 255.
更通用的表示是,如果每個(gè)采樣點(diǎn)用 B 位線性脈沖編碼調(diào)制表示,則 MAXI=2B?1MAX_I = 2^B - 1MAXI?=2B?1,即:
類似地,對(duì)于每點(diǎn)有 RGB 三個(gè)值的彩色圖像來說,PSNR 的定義也是類似的,只是均方誤差是所有方差之和除以圖像尺寸再除以3。
MSE 越小,則 PSNR 越大;PSNR越大,代表著圖像質(zhì)量越好。
skimge 實(shí)現(xiàn)
安裝 skimage 庫
pip install scikit-imageskimage 庫也提供了相關(guān)的計(jì)算實(shí)現(xiàn).
skimage.measure.compare_psnr
完示例代碼
import cv2 from skimage.metrics import mean_squared_error from skimage.metrics import peak_signal_noise_ratioimg1 = cv2.imread('imgPred0.png') img2 = cv2.imread('imgPred01.png')MSE = mean_squared_error(img1, img2) PSNR = peak_signal_noise_ratio(img1, img2)print('MSE: ', MSE) print('PSNR: ', PSNR)TensorFlow 實(shí)現(xiàn)
TensorFlow 中已經(jīng)包含 PSNR 計(jì)算的函數(shù),可直接采用.
tf.image.psnr
SSIM
SSIM,Structural Similarity,結(jié)構(gòu)相似性. 也是衡量兩幅圖片相似性的指標(biāo).
結(jié)構(gòu)相似性的基本原理是,認(rèn)為自然圖像時(shí)高度結(jié)構(gòu)化的,即相鄰像素間具有很強(qiáng)的關(guān)聯(lián)性,而這種關(guān)聯(lián)性表達(dá)了場景中物體的結(jié)構(gòu)信息. 人類視覺系統(tǒng)對(duì)于圖像已經(jīng)具有很強(qiáng)的理解與信息抽取能力,所以在衡量圖像質(zhì)量時(shí),結(jié)構(gòu)性失真是很重要的考量.
代碼實(shí)現(xiàn)
同樣還是使用 skimage 庫進(jìn)行代碼的實(shí)現(xiàn)
import cv2 from skimage.measure import compare_ssimimg1 = cv2.imread('imgPred0.png') img2 = cv2.imread('imgPred01.png')SSIM = structural_similarity(img1, img2, multichannel=True)print('SSIM: ', SSIM)Ref
總結(jié)
以上是生活随笔為你收集整理的Python 实现图片质量比较之PSNR和SSIM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyTorch 读取图像图片数据
- 下一篇: Win 系统 PyTorch 安装配置教