圖像是人類感知和機(jī)器模式識(shí)別的重要信息源,其質(zhì)量對(duì)所獲取信息的充分性和準(zhǔn)確性起著決定性的作用。然而,圖像在獲取、壓縮、處理、傳輸、顯示等過程中難免會(huì)出現(xiàn)一定程度的失真。然而要解決這個(gè)問題我們需要建立有效的圖像質(zhì)量評(píng)價(jià)體制。
由此我們就有了圖像質(zhì)量評(píng)估指標(biāo) :結(jié)構(gòu)相似性SSIM / 峰值信噪比PSNR / 均方根誤差MSE
PSNR和MSE:
PSNR是最普遍和使用最為廣泛的一種圖像客觀評(píng)價(jià)指標(biāo),然而它是基于對(duì)應(yīng)像素點(diǎn)間的誤差。即峰值信號(hào)的能量與噪聲的平均能量之比。
MSE表示當(dāng)前圖像X和參考圖像Y的均方誤差(MeanSquare Error),H、W分別為圖像的高度和寬度;n為每像素的比特?cái)?shù),一般取8,即像素灰階數(shù)為256.?PSNR的單位是dB,數(shù)值越大表示失真越小。表達(dá)式為:

公式中R( m, n) 代表參考圖像在空間位置( m, n) 的 灰度值, I( m, n) 代表失真圖像在空間位置的( m,n) 的灰度值; L 為峰值信號(hào),對(duì)于 8 位的灰度圖像來說,L=255.
代碼:
# -*- coding: utf-8 -*-?
import cv2
import numpy as np
import math
import os
def psnr(img1, img2):
? ???? mse = np.mean((img1/1.0 - img2/1.0) ** 2 )
? ???? if mse < 1.0e-10:
? ? ????????? return 100
? ? ? ?psnr = 10 * math.log10(255.0**2/mse)
? ???? return psnr
def _main():
? ?????? img1 =?cv2.imread('1.jpg')? ? ? ?
? ? ? ? ?img2 =??cv2.imread('2.jpg')??
? ? ? ? ?print? psnr
if __name__ == '__main__':
? ?????? _main()?
雖然 MSE 和 PSNR 計(jì)算形式上非常簡(jiǎn)單但本質(zhì)上沒有考慮將人類視覺 系統(tǒng)( 人眼對(duì)空間頻率較低的對(duì)比差異敏感度較高,人眼對(duì)亮度對(duì)比差異的敏感度較色度高,人眼對(duì)一個(gè) 區(qū)域的感知結(jié)果會(huì)受到其周圍鄰近區(qū)域的影響等,HSV) 特性引入到圖像 質(zhì)量評(píng)價(jià)當(dāng)中來,只是單純從數(shù)學(xué)角度來分析差異,與圖像的感知質(zhì)量之間沒有必然聯(lián)系,評(píng)價(jià)結(jié)果不太理想。
SSIM:
由于 HVS 具有可以抓取圖像的結(jié)構(gòu)特征的特點(diǎn),因此設(shè)計(jì) Structural Similarity 進(jìn)行評(píng)價(jià),即 SSIM 。該方法認(rèn)為光照對(duì)于物體結(jié)構(gòu)是獨(dú)立的,而光照改變主要來源于亮度和對(duì)比度;所以它將亮度和對(duì)比度從圖像的結(jié)構(gòu)信息中分離出來,并結(jié)合結(jié)構(gòu)信息對(duì)圖像質(zhì)量進(jìn)行評(píng)價(jià)。
代碼研究中(太難了?。?/p>