[PYTHON] Vergleichen Sie zwei Bilder mit dem Bild-Hash

Einführung

Bestätigen Sie die Vergleichsmethode der Identität der beiden Bilder mit dem Bild-Hash.

Über Bild-Hash

Im Allgemeinen bezieht sich ein Hash auf einen Wert, der aus einer Zeichenfolge unter Verwendung einer Hash-Funktion erhalten wird. Sie können dasselbe mit Bildern tun und zusammengefasste Werte generieren. Daher ist es möglich, Bilder mit ähnlichen Mustern einzugrenzen, indem Bild-Hash für eine große Anzahl von Bildern verwendet wird.

Da es mehrere Hash-Funktionen gibt, muss zum Vergleich auf eine eingegrenzt werden. Referenz: https://qiita.com/mamo3gr/items/b93545a0346d8731f03c

Vergleichen Sie zwei Bild-Hashes

Um die Hash-Entfernung zu berechnen, nehmen Sie eine exklusive logische Summe (XOR) und zählen Sie "1".

Quellcodebeispiel (Python)

sample.py


hash_a = 'b69cbd89090b8f8e'
hash_a_value = int(hash_a, 16)
hash_b = 'b69c3d89090b0f8e'
hash_b_value = int(hash_b, 16)

hamming_distance = bin(hash_a_value ^ hash_b_value).count('1')
print(hamming_distance)

** Berechnen Sie den Brummabstand des Hash in der obigen Quelle. ** **.

Konvertieren von hash_a in binär ** 1011011010011100101111011000100100001001000010111000111110001110 ** Konvertieren von hash_b in binär ** 1011011010011100001111011000100100001001000010110000111110001110 ** Wenn die exklusive logische Summe verwendet wird, lautet sie ** 000000000000001000000000000000000000000000000000000000000000000 **. Die Anzahl der Einsen beträgt 2 und der Brummabstand beträgt ** 2 **.

Bildähnlichkeit durch Brummen

Wenn der Brummabstand 10 oder weniger beträgt, sind die Bilder fast gleich, aber sie sind nicht definitiv gleich. Wenn bestätigt wird, dass sie identisch sind, muss dies durch einen anderen Prozess bestätigt werden.

Zusammenfassung

Bild-Hashing allein reicht nicht aus, um die Bildidentität zu gewährleisten. Es ist erforderlich, die Funktionsmenge des Bildes zu verwenden.

Wenn die Anzahl der zu vergleichenden Bilder gering ist, reicht es aus, sie anhand der Merkmalsmenge des Bildes zu vergleichen. Wenn Sie zig Millionen Bilder vergleichen möchten, können Sie das Vergleichsziel nach Bild-Hash eingrenzen.

Artikel wie Merkmalsmengen https://qiita.com/hmichu/items/f5f1c778a155c7c414fd https://qiita.com/hitomatagi/items/caac014b7ab246faf6b1

Recommended Posts

Vergleichen Sie zwei Bilder mit dem Bild-Hash
Kombiniere zwei Bilder mit Django
Bildverarbeitung mit MyHDL
Bild mit Python-Pptx zentrieren
Bildverarbeitung mit PIL
Bild herunterladen mit Flickr API
Bildverarbeitung mit Python (Teil 2)
Laden Sie Bilder automatisch mit Scraping herunter
Angrenzende Bilder mit Python Teil 1
Lesen Sie die Bildkoordinaten mit Python-matplotlib
Bildverarbeitung mit PIL (Pillow)
Bildbearbeitung mit Python OpenCV
Speichern Sie Bilder mit Web Scraping
Hochladen und Anpassen von Bildern mit django-ckeditor
Sortieren von Bilddateien mit Python (2)
Sortieren von Bilddateien mit Python (3)
Erstellen Sie den Image Viewer mit Tkinter
Bildverarbeitung mit Python (Teil 1)
Tweet mit Bild in Python
Bilddateien mit Python sortieren
Bildverarbeitung mit Python (3)
Bildunterschriftengenerierung mit Chainer
Holen Sie sich Bildfunktionen mit OpenCV
Bilderkennung mit Keras + OpenCV
[Python] Bildverarbeitung mit Scicit-Image
Zwei Möglichkeiten, mit matplotlib mehrere Grafiken in einem Bild anzuzeigen