ImageMagick : convert $infile $tmp0 -compose Difference -composite -threshold $thresh
Bonjour,
j'ai écrit un script code perl pour tenter d'obtenir l'équivalent de cette commande :
Code:
convert $infile $tmp0 -compose Difference -composite -threshold $thresh% $tmp1
Le soucis c'est que l'image généré est toute noire alors qu'il devrait y avoir du "bruit" comme lorsque j'utilise la ligne de commande
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #convert $infile $tmp0 -compose Difference -composite -threshold $thresh% $tmp1
sub composeThreshold
{
my ($file, $tmp0, $threshold) = @_;
my($tmp1) = "tmp1.jpg";
#Création d'une image
my $im = Image::Magick->new();
# Lecture de l'image
if ( my $err = $im->Read($file) )
{
print STDERR "Erreur $err sur lecture $file\n" ;
return ;
}
# Creation de l'image
my $im_tmp0 = Image::Magick->new();
# Lecture de l'image
if ( my $err = $im_tmp0->Read($tmp0) )
{
print STDERR "Erreur $err sur lecture $tmp0\n" ;
return ;
}
$im->Composite(image => $im_tmp0, compose => "Difference");
$im->AdaptiveThreshold(offset=>$threshold);
# Ecriture de l'image
if ( my $err = $im->Write(filename => $tmp1))
{
print STDERR "Erreur $err sur ecriture $tmp1\n" ;
return ;
}
} |
Merci