Comparer 2 images pour voir si les deux fichiers sont identiques est facile, ont jeté les fichiers MD5, mais est-il possible, voire plausible, de déterminer si 2 images sont identiques en utilisant PHP Gd pour obtenir la différence entre les deux images . Si nous obtenions la différence entre les deux et que tout était blanc (je suppose en blanc ou même en noir), nous saurions maintenant que la photo est identique.
Aussi, remarque: je voudrais savoir s'il est possible d'obtenir 2 images de taille égale pour créer un effet de pelure d'oignon, 50% de transparence sur 1 et 50% sur l'autre.
ImageMagick propose différents outils que vous pouvez utiliser à cet effet, via l'extension PHP ImageMagick.
http://www.php.net/manual/en/function.imagick-compareimages.php
Le plus gros problème est que la documentation de cette bibliothèque est quasiment inexistante, ce qui implique beaucoup d'essais et d'erreurs.
$md5image1 = md5(file_get_contents($image1));
$md5image2 = md5(file_get_contents($image2));
if ($md5image1 == $md5image2) {
}
libpuzzle est une extension PHP qui peut comparer des images.
Une question similaire a été posée sur ceci fil de Stackoverflow et j'avais développé quelque chose pour mon propre usage. Affichez-le ici pour que cela puisse aider les autres.
Il en faut deux (ou plus) et vous offre des options pour vérifier la différence entre elles. Des options telles que la résolution à utiliser et la rigueur.
J'ai écrit un plus complet blogpost dessus aussi.
Fonction de comparaison d'images dans PHP avec Gd Library http://www.robert-lerner.com/imagecompare.php
Je devais dédupliquer un ensemble d'images JPEG dans lesquelles la différence entre deux images identiques pixel par pixel était la suivante:
La solution que j'ai utilisée était la suivante:
createimagefromjpeg
functionimagegd2
Vous n'êtes pas sûr que ce soit si simple et qu'une solution existe, mais vous aurez probablement une idée de la détection d'image à partir de:
Détection de visage avec PHP
Filtre de nudité des images (Classe)
Si vous ne comparez que deux fichiers, le hachage des données et la comparaison constituent la solution idéale. Si vous comparez un grand nombre de fichiers, triez-les d'abord en fonction de leur taille, puis comparez-les uniquement avec la même taille.