#1 Le 04/09/2015, à 08:57
- DonutMan75
[RESOLU] [ImageMagick] Crop intelligent dans convert
Bonjour à tous,
j'ai une série d'images entourées de marges blanches d'épaisseur variable. Un exemple d'une telle image est donnée ici : https://dl.ipgp.fr/471g
J'aimerais un script qui détecte automatique le premier pixel non-blanc en haut à gauche et le dernier pixel non-blanc en bas à droite et qui crope automatiquement l'image à ces dimensions (en ajoutant éventuellement une marge fixe).
J'ai vu dans la doc de ubuntu-fr que l'outil convert de la suite ImageMagick pourrait m'aider dans cette tâche (http://doc.ubuntu-fr.org/imagemagick).
En cherchant un peu, j'ai trouvé que la commande trim pouvait faire le boulot.
J'ai donc tenté un :
$ convert -trim input.png output.png
Mais ça n'a croppé convenablement que la marge à gauche en laissant inchangé les marges en haut, en bas et à droite...
J'ai bien vérifié qu'il n'y avait que du blanc pur aux alentours de mon image... et mon premier pixel en haut à gauche est bien blanc lui aussi... Donc ça devrait normalement cropper non ? Pas de soucis particulier avec le png ?
J'ai trouvé que l'argument -fuzz avec un pourcentage permettait d'être un peu plus laxiste sur la sélection. Et là ça devient bizarre
convert -trim -fuzz 50% input.png output.png : enlève 2 bandes sur 4 (gauche et bas)
convert -trim -fuzz 75% input.png output.png : enlève 3 bandes sur 4 (gauche, bas, droite)
convert -trim -fuzz 80% input.png output.png : enlève 4 bandes sur 4 (gauche, bas, droite et haut)
Du coup cette dernière commande a l'air de fonctionner... mais je ne sais absolument pas pourquoi ! Et ça ne me semble pas très propre...
Des idées, des suggestions ou des explications ? Je suis preneur de tout Et merci d'avance pour vos lumières !
Pierre
Dernière modification par DonutMan75 (Le 09/09/2015, à 14:13)
Hors ligne
#2 Le 04/09/2015, à 11:59
- pingouinux
Re : [RESOLU] [ImageMagick] Crop intelligent dans convert
Bonjour,
J'ai jeté un œil à ton image https://dl.ipgp.fr/471g
Les 8 premières colonnes ne contiennent que des pixels blancs, ce qui n'est pas le cas de la dernière colonne, ni des première et dernière ligne.
Ajouté :
Voici les pourcentages minimum des composantes rouge, verte et bleue sur les bordures gauche, basse, droite et haute de l'image :
G B D H
Rouge 100.00 67.84 50.20 23.53
Vert 100.00 66.27 50.20 23.14
Bleu 100.00 64.71 50.20 21.57
Ça explique parfaitement tes résultats.
Dernière modification par pingouinux (Le 04/09/2015, à 13:14)
Hors ligne
#3 Le 09/09/2015, à 14:12
- DonutMan75
Re : [RESOLU] [ImageMagick] Crop intelligent dans convert
Hello pingouinux,
merci pour ta réponse, je suis confus... j'avais fait une inspection en zoomant et n'avait rien vu de particulier...
Merci encore !
Donut
Hors ligne