均值哈希算法

均值哈希算法(以下簡稱AHA)是哈希算法的一類,主要用來做相似圖片的搜尋工作。

基本介紹

  • 中文名:均值哈希算法
  • 外文名:Average hash algorithm
  • 類型:詞條
  • 簡稱:AHA
概念介紹,運算過程,

概念介紹

AHA是一類比較哈希方法的統稱。圖片所包含的特徵被用來生成一組指紋(不過它不是唯一的),而這些指紋是可以進行比較的。

運算過程

下面是簡單的步驟,來說明對圖像進行AHA的運算過程:
第一步,縮小尺寸。
最快速的去除高頻和細節,只保留結構明暗的方法就是縮小尺寸。
將圖片縮小到8x8的尺寸,總共64個像素。摒棄不同尺寸、比例帶來的圖片差異。
第二步,簡化色彩。
將縮小後的圖片,轉為64級灰度。也就是說,所有像素點總共只有64種顏色。
第三步,計算平均值。
計算所有64個像素的灰度平均值。
第四步,比較像素的灰度。
將每個像素的灰度,與平均值進行比較。大於或等於平均值,記為1;小於平均值,記為0。
第五步,計算哈希值。
將上一步的比較結果,組合在一起,就構成了一個64位的整數,這就是這張圖片的指紋。組合的次序並不重要,只要保證所有圖片都採用同樣次序就行了。
如果圖片放大或縮小,或改變縱橫比,結果值也不會改變。增加或減少亮度或對比度,或改變顏色,對hash值都不會太大的影響。最大的優點:計算速度快!
如果想比較兩張圖片,為每張圖片構造hash值並且計算不同位的個數。(漢明距離)如果這個值為0,則表示這兩張圖片非常相似,如果漢明距離小於5,則表示有些不同,但比較相近,如果漢明距離大於10則表明完全不同的圖片。

相關詞條

熱門詞條

聯絡我們