感知哈希算法——找出類似的圖片

感知哈希算法(Perceptual Hash Algorithm) 算法

     意思是爲圖片生成一個指紋(字符串格式), 兩張圖片的指紋越類似, 說明兩張圖片就越類似. 但關鍵是如何根據圖片計算出"指紋"呢? 下面用最簡單的步驟來講明一下原理: spa

第一步 縮小圖片尺寸

     將圖片縮小到8x8的尺寸, 總共64個像素. 這一步的做用是去除各類圖片尺寸和圖片比例的差別, 只保留結構、明暗等基本信息. .net

     

第二步 轉爲灰度圖片

      將縮小後的圖片, 轉爲64級灰度圖片. 圖片

      

第三步 計算灰度平均值

     計算圖片中全部像素的灰度平均值 字符串

第四步 比較像素的灰度

     將每一個像素的灰度與平均值進行比較, 若是大於或等於平均值記爲1, 小於平均值記爲0. get

第五步 計算哈希值

     將上一步的比較結果, 組合在一塊兒, 就構成了一個64位的二進制整數, 這就是這張圖片的指紋. it

第六步 對比圖片指紋

     獲得圖片的指紋後, 就能夠對比不一樣的圖片的指紋, 計算出64位中有多少位是不同的. 若是不相同的數據位數不超過5, 就說明兩張圖片很類似, 若是大於10, 說明它們是兩張不一樣的圖片. 原理

demo下載地址:http://download.csdn.net/detail/yjflinchong/4239243 下載

相關文章
相關標籤/搜索