我已經提取了篩選,衝浪,邊緣,顏色和紋理等功能;然後我使用MD5製作了一個哈希碼。我嘗試過使用特徵哈希碼的二進制級漢明距離和每次特徵的直接哈希距離與查詢圖像進行比較和排序大量的圖像。遺憾的是,這兩個漢明距離給我最差的結果每個功能哈希代碼。我正在尋找一個用哈希碼進行圖像比較的解決方案。我的嘗試低於
我只想解決基於哈希代碼的圖像搜索java.And想知道如何爲每個哈希碼生成按位權重。
我已經提取了篩選,衝浪,邊緣,顏色和紋理等功能;然後我使用MD5製作了一個哈希碼。我嘗試過使用特徵哈希碼的二進制級漢明距離和每次特徵的直接哈希距離與查詢圖像進行比較和排序大量的圖像。遺憾的是,這兩個漢明距離給我最差的結果每個功能哈希代碼。我正在尋找一個用哈希碼進行圖像比較的解決方案。我的嘗試低於
我只想解決基於哈希代碼的圖像搜索java.And想知道如何爲每個哈希碼生成按位權重。
package methodoverloading;
import java.io.File;
public class Main {
public static void main(String[] argv) throws Exception {
File file1 = new File("f1");
File file2 = new File("f2");
File file3 = new File("f3");
int hc1 = file1.hashCode();
System.out.println(hc1);
int hc2 = file2.hashCode();
System.out.println(hc2);
int hc3 = file3.hashCode();
System.out.println(hc3);
}
}
也許我錯了,但我不認爲這可能是一個有效的辦法。由於哈希函數將一組密鑰映射爲低基數哈希集,因此非完美哈希會引發一些信息丟失。此外,如果要直接測量它們之間的距離,則必須使用有意義的散列函數。 MD5不符合你的需求...更有趣的事情可能是設置一個散列函數(不必作爲常見的散列函數進行簡化),以使相似的項目相互碰撞,以便「羣集」類似的數據
您是否正在嘗試做一個有用的比較哈希?這是行不通的。 MD5將提供半獨特的散列來表示除了驗證您擁有正確的文件並區分其他內容(碰撞時不太可能出現這種情況)之外毫無意義的映像。它不會爲您提供找到類似圖像的方法。你很可能想要別的東西。 – pickypg
通過哪種哈希技術我會生存這個問題先生 – TBN
我不熟悉圖像匹配,但哈希不是你想要的。看看這裏的[圖像比較算法](http://stackoverflow.com/questions/843972/image-comparison-fast-algorithm)。 – pickypg