Bonjour,
j'ai écrit un script code perl pour tenter d'obtenir l'équivalent de cette commande :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part convert $infile $tmp0 -compose Difference -composite -threshold $thresh% $tmp1
Voici mon code :
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ; } }
Partager