mysql Hamming-Abstand zwischen zwei Phasen

9

Ich habe eine Tabelle A, die eine Spalte 'template_phash' hat. Ich speichere den aus 400K-Bildern generierten Phash.

Jetzt nehme ich ein zufälliges Bild und erzeuge einen Phash von diesem Bild.

Nun, wie kann ich abfragen, damit ich den Datensatz aus Tabelle A holen kann, dessen Hamming-Distanzunterschied kleiner als ein Schwellenwert ist, sagen wir 20.

Ich habe Hamming-Distanz bei Binärstrings in SQL gesehen , aber konnte es nicht herausfinden.

Ich denke, ich habe herausgefunden, dass ich eine Funktion machen muss, um das zu erreichen, aber wie?

Beide sind in BigInt, zB: 7641692061273169067

Bitte helfen Sie mir die Funktion so zu machen, dass ich wie

abfragen kann %Vor%     
Gagan 10.01.2014, 06:28
quelle

1 Antwort

21

Ich habe herausgefunden, dass die Hamming-Distanz nur die Anzahl der Bits zwischen den beiden Hashes ist. Zuerst erhalten xoder die zwei Hashes dann die Anzahl der binären Einsen:

%Vor%     
Gagan 11.01.2014, 05:31
quelle

Tags und Links