Marc Reichelt: Doppelte Bilder finden: mit Prüfsumme?

Beitrag lesen

Hallo Eddie,

wie kann ich möglichst einfach überprüfen, ob sich zwei Bilder gleichen? Ich hätte gerne ein Verfahren, mit dem ich bei einem neuen Bild einfach in der Datenbank gucken kann, ob es da schon ein entsprechends Duplikat gibt - und zwar ohne alle Bilder einzeln zu vergleichen.

Spontan fallen mir da Dinge ein wie: Höhe, Breite, Dateigröße, Dateityp und vor allem Prüfsumme (MD5). Bin ich da auf dem richtigen Weg, oder kann das (trotz Prüfsumme) falsche Ergebnisse bringen?

Zunächst müssen wir wissen, was du unter "gleich" verstehst.
Wenn du absolute Dateiidentität meinst: Das geht einfach.
"Gleiche" Bilder kann aber auch heißen: Die Bilder sind gleich, jedoch unterschiedlich skaliert, gedreht, geschnitten oder haben etwa andere Zusatzinformationen (EXIM etc.). Das ist dann nicht mehr so einfach.

Wenn du nur gleiche Dateien haben willst: Die Prüfsumme (MD5) ist hier ein IMHO sehr gutes Merkmal. In einer SQL-Datenbank könntest du dem Feld für die Prüfsumme dann etwa ein UNIQUE-Attribut verpassen, und performant genug sollte das auch sein (die Prüfsumme wird nur bei neuen Bildern neu berechnet).

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
panic("Oh boy, that early out of memory?");
        linux-2.2.16/arch/mips/mm/init.c
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)