Können zwei Bilder mit unterschiedlichen Auflösungen verglichen werden?
Ich meine hier einen Algorithmus / Programmieransatz. Zum Beispiel berechne ich nun Hash-Code aus dem Byte-Array des Bildes und vergleiche diese Hash-Code-Werte. Das ist eine großartige Arbeit, die aber bei unterschiedlichen Auflösungen fehlschlägt, d. H. Bilder sind identisch nach Augenmaß , unterscheiden sich jedoch in ihrem Byte-Inhalt.
Sehen Sie sich zum Beispiel mein Bild an:
Eines davon hat 72 ppi , aber ein anderes 96 ppi . Ich hätte gerne TRUE Wert beim Vergleich auf Gleichheit, aber jetzt bekomme ich FALSE . Helfen Sie bitte, hier die richtige Lösung zu finden.
Zwei sehr einfache Wahrnehmungs-Hashing-Methoden, die Sie ausprobieren sollten, bevor Sie sich in ein komplizierteres Gebiet wagen, basieren auf der diskreten Cosinus-Transformation und dem lokalen vs. glokalen Mittelwert eines Bildes:
Bild in Graustufen umwandeln
1.1 (EDIT) Machen Sie Ihr Bild Null bedeutet
Und eine Variante zu diesem Thema wäre
Sehen Sie sich auch phash an.
Für synthetische Bilder mit einigen verschiedenen Farben würde ich mit der Histogrammanpassung beginnen.
Grundsätzlich addieren Sie die Anzahl der Pixel jeder Farbe in jedem Bild und dividieren Sie durch die Gesamtzahl der Pixel. Dann haben Sie einen einfachen Float-Vektor als Fingerabdruck. Sie können Weiß ignorieren, wenn Sie möchten, dass Bilder mit mehr oder weniger Rahmen als Übereinstimmung gelten.
Es wird nicht das gleiche Bild mit den neu arrangierten Slices erkennen, oder der Text wird um eine Zeile nach unten verschoben, aber ich denke nicht, dass das in diesem Fall das Problem ist.
Tags und Links image comparison image-processing hash