Wenn Sie zwei Bilder vergleichen, um zu sehen, ob es sich bei beiden um dieselben Dateien handelt, ist es einfach, die Dateien MD5 zu werfen. Ist es jedoch möglich oder sogar plausibel, festzustellen, ob 2 Bilder gleich sind, verwenden Sie PHP Gd, um den Unterschied der beiden Bilder zu ermitteln . Wenn wir den Unterschied zwischen den beiden finden und alles weiß ist (ich nehme Weiß oder sogar Schwarz an), würden wir jetzt wissen, dass es sich um dasselbe Foto handelt.
Anmerkung: Ich möchte gerne wissen, ob es möglich ist, zwei gleich große Bilder zu erzeugen, um einen Zwiebelschaleneffekt zu erzeugen, 50% Transparenz auf 1 und 50% auf der anderen Seite.
ImageMagick bietet verschiedene Tools, die Sie dazu mit der ImageMagick-Erweiterung PHP verwenden können.
http://www.php.net/manual/de/function.imagick-compareimages.php
Das größte Problem ist, dass die Dokumentation für diese Bibliothek so gut wie nicht vorhanden ist, so dass eine ganze Reihe von Versuchen und Fehlern erforderlich ist.
$md5image1 = md5(file_get_contents($image1));
$md5image2 = md5(file_get_contents($image2));
if ($md5image1 == $md5image2) {
}
libpuzzle ist eine PHP - Erweiterung, die Bilder vergleichen kann.
Eine ähnliche Frage wurde zu diesem Stackoverflow-Thread gestellt, und ich hatte etwas für meinen eigenen Gebrauch entwickelt. Poste es hier, damit es anderen helfen kann.
Es dauert zwei (oder mehr Bilder) und gibt Ihnen Optionen zum Überprüfen des Unterschieds zwischen ihnen. Optionen wie Auflösung und Strenge.
Ich habe auch einen ausführlicheren Blogpost geschrieben.
Bildvergleichsfunktion in PHP mit Gd Library http://www.robert-lerner.com/imagecompare.php
Ich musste einen Satz JPEG-Bilder deduplizieren, bei dem der Unterschied zwischen zwei identischen Bildern Pixel für Pixel bestand:
Die Lösung, die ich verwendete, war wie folgt:
createimagefromjpeg
imagegd2
Sie sind sich nicht sicher, ob es so einfach ist und eine Lösung vorhanden ist, aber Sie erhalten möglicherweise eine Vorstellung von der Bilderkennung:
Wenn Sie nur zwei Dateien vergleichen, ist das Hashing von Daten und der Vergleich die perfekte Lösung. Wenn Sie eine große Anzahl von Dateien vergleichen, sortieren Sie sie zuerst anhand der Größe und vergleichen Sie sie nur mit derselben Größe.