Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison d'images

2 réponses
Avatar
Yoann (YoK)
Bonjour,

Je voudrais connaitres vos diverses avis sur le comment comparer deux
images en perl.

Elles seront obligatoirement :
- de la meme taile.
- de type JPEG.

Il se peux qu'il n'y ai qu'un pixel qui change de couleurs entre les
deux images donc la comparaison doit-etre *efficace*.

Merci par avance de vos suggestions.

Un p'tit exemple serais ma fois le bienvenu.

--
Yoann

2 réponses

Avatar
ZigZag15551
"Yoann (YoK)" a écrit dans le message de
news:4112b7f2$0$6417$
Bonjour,

Je voudrais connaitres vos diverses avis sur le comment comparer deux
images en perl.

Elles seront obligatoirement :
- de la meme taile.
- de type JPEG.

Il se peux qu'il n'y ai qu'un pixel qui change de couleurs entre les
deux images donc la comparaison doit-etre *efficace*.

Merci par avance de vos suggestions.

Un p'tit exemple serais ma fois le bienvenu.

--
Yoann


Avec Image::Magick et la fonction [GetPixels] qui retourne le code de
couleur de la pixel selectionné par coordonnée (x,y)

Tu génère un tableau pour chaque image avec les codes couleurs et tu les
compares !

ou tu utilise la fonction [Compare] de Image::Magick

Example script
#!/usr/bin/perl
#
# Return Compared differences between two images.
#
use Image::Magick;
$i1 = Image::Magick->new;
$i2 = Image::Magick->new;

$i1->Read( filename=> shift );
$i2->Read( filename=> shift );

$i1->Scale(width=>32, height=>32);
$i2->Scale(width=>32, height=>32);

$x = $i1->Compare(image=>$i2);
die "$x" if $x;

printf "Errors is %fn", $i1->Get('error');
printf "Mean Error is %fn", $i1->Get('mean-error');


Voici la source de cet example ou ce trouve aussi une description des
problèmes relié a l'utilisation de cette méthode :
http://www.cit.gu.edu.au/~anthony/info/graphics/image_comparing

--
Ctout !

-----------------------------------------



Avatar
Jérémy JUST
On Fri, 06 Aug 2004 00:42:56 +0200
"Yoann (YoK)" wrote:

Je voudrais connaitres vos diverses avis sur le comment comparer deux
images en perl.


Qu'appelles-tu « comparer »?
S'il s'agit de déterminer si elles sont identiques ou différentes, une
bête comparaison de chaînes de caractères suffit ($img1 eq $img2). Si
les images sont grosses, tu peux bricoler en les lisant progressivement
(avec `read') ou utiliser une somme MD5.
Tu pourras détecter une différence invisible à l'oeil nu.

--
Jérémy JUST