Utiliser PHP pour comparer le contenu des images en termes de similarité
Déterminer la similarité de deux images à l'aide de PHP est un défi courant. Bien que les hachages MD5 constituent un moyen pratique de comparer des fichiers, ils ne parviennent pas à détecter les différences visuelles.
Défis de la comparaison d'images basée sur le contenu
Comparaison du contenu des images nécessite de comprendre le contenu de l'image. PHP propose deux extensions pour la manipulation d'images : ImageMagick et GD. ImageMagick fournit de puissants outils de comparaison d'images grâce à sa fonction imagick-compareimages().
Implémentation à l'aide d'ImageMagick
<code class="php"><?php // Load images $image1 = new Imagick('image1.jpg'); $image2 = new Imagick('image2.jpg'); // Compare images $result = $image1->compareImages($image2); // Check similarity if ($result[2] == 0) { echo 'Images are identical.'; } else { echo 'Images are different.'; } ?></code>
Effet peau d'oignon avec Transparen cy**
La combinaison de deux images avec 50 % de transparence chacune peut être obtenue en utilisant la composition d'images dans GD ou ImageMagick :
Utilisation de GD
<code class="php"><?php // Load images $image1 = imagecreatefromjpeg('image1.jpg'); $image2 = imagecreatefromjpeg('image2.jpg'); // Create transparent copies $image1Trans = imagecopymerge($image1, $image1, 0, 0, 0, 0, imagesx($image1), imagesy($image1), 50); $image2Trans = imagecopymerge($image2, $image2, 0, 0, 0, 0, imagesx($image2), imagesy($image2), 50); // Blend images $onionSkin = imagecopymerge($image1Trans, $image2Trans, 0, 0, 0, 0, imagesx($image1), imagesy($image1), 100); // Save result imagejpeg($onionSkin, 'onionSkin.jpg'); ?></code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!