logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
doc:media:imagemagick [01/10/2013 15:31]
captnfab [TP convert]
doc:media:imagemagick [15/05/2023 17:49]
lagrenouille [Installation]
Ligne 1: Ligne 1:
 ====== imagemagick ====== ====== imagemagick ======
  
-  * Objet : retouche d'​images en ligne de commande +  * Objet : imagemagick 
-  * Niveau requis : DÉBUTANT +  * Niveau requis : {{tag>​débutant avisé}} 
-  * Commentaires : //modifier format, ajouter des titres ou des encadrements à vos images ​numériques.// +  * Commentaires : //La retouche d'images ​en ligne de commande. // 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)+  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
 +  * Suivi : {{tag>​à-placer}} 
 +    * Création par [[user>​smolski]] 2010 
 +    * Testé par [[user>​smolski]] 2010 
 +    * Suivi et augmenté: par lagrenouille mai 2023 
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=10629 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
 + 
  
 ===== Introduction ===== ===== Introduction =====
Ligne 17: Ligne 24:
     * créer une nouvelle image, composée de plusieurs autres images ;     * créer une nouvelle image, composée de plusieurs autres images ;
     * dessiner ou écrire sur une image.     * dessiner ou écrire sur une image.
 +
  
 Une fois installé, ImageMagick se pilote très facilement grâce à une série de lignes de commandes. Une fois installé, ImageMagick se pilote très facilement grâce à une série de lignes de commandes.
-Vous trouverez ci-après, quelques exemples de commandes usuelles +Vous trouverez ci-après, quelques exemples de commandes usuelles. 
-Conversion de format+ 
 +===== Commande magick =====
  
 +En 2019, les paquets Debian pour installer ImageMagick,​ n'​offrent pas la dernière version 7 qui semble contenir une nouvelle commande "​magick"​ ( une sorte de raccourci pour les autres commandes ) que vous pourriez voir sur d'​autres tutos, ou sur [[https://​imagemagick.org/​script/​command-line-tools.php|la doc officielle]]. Elle n'est pas nécessaire,​ et le tuto ci dessous fonctionne toujours :)
 ===== Images d'​illustration pour ce tuto ===== ===== Images d'​illustration pour ce tuto =====
  
Ligne 31: Ligne 41:
  
 Dans un terminal root (voir [[:​doc:​systeme:​su | SU]]), comme ça : Dans un terminal root (voir [[:​doc:​systeme:​su | SU]]), comme ça :
-<​code ​bash> +<​code ​root>apt-get update && apt-get ​install imagemagick</​code>​
-aptitude ​install imagemagick</​code>​+
  
 //​Trôôôôp,​ non ?// :-) //​Trôôôôp,​ non ?// :-)
  
  
-<note important>​''​ATTENTION ! \\  +<note important>​**ATTENTION ​Grave !** \\  
-N'​exécutez les commandes qui suivent que sur des images de sauvegarde et non sur les originaux !''​</​note>​+N'​exécutez les commandes qui suivent que sur **des images de sauvegarde** et non sur les originaux !</​note>​
  
 +{{https://​debian-facile.org/​images/​file-R6464d50e0b30160e8f5aa63452922995.png}}
 ===== Convertir ===== ===== Convertir =====
  
 Les formats acceptés en lecture ou en écriture par ImageMagick sont très nombreux. Il paraît donc Les formats acceptés en lecture ou en écriture par ImageMagick sont très nombreux. Il paraît donc
 logique qu'il soit utilisé en ligne de commandes pour convertir un format d'​image en un autre. Par exemple, la ligne suivante permet de convertir une image .png en image .gif : logique qu'il soit utilisé en ligne de commandes pour convertir un format d'​image en un autre. Par exemple, la ligne suivante permet de convertir une image .png en image .gif :
-<​code ​bash> +<​code ​user>mogrify -format png image.gif</​code>​
-mogrify -format png image.gif</​code>​+
  
 ou encore ou encore
-<​code ​bash> +<​code ​user>convert image.gif image.png</​code>​
-convert image.gif image.png</​code>​+
  
 À noter que l'​opération n'​écrase pas l'​image d'​origine. Il est possible de réaliser la même opération par lots : À noter que l'​opération n'​écrase pas l'​image d'​origine. Il est possible de réaliser la même opération par lots :
-<​code ​bash> +<​code ​user>mogrify -format png *.jpg</​code>​ 
-mogrify -format png *.jpg</​code>​+ 
 +On peut spécifier une résolution particulière de l'​image avec l'​option density. Plus la résolution est élevée, plus la qualité est élevée (et plus le fichier est lourd). Cette option est particulièrement utile lorsque l'on veut convertir un fichier pdf en image. 
 +<code user>​convert -density 300x300 monFichier.pdf monFichier.png</​code>​
  
 Dans ce cas, ImageMagick va convertir chaque image .jpg en .png tout en conservant le nom de base. Dans ce cas, ImageMagick va convertir chaque image .jpg en .png tout en conservant le nom de base.
  
 +==== Animation GIF ====
  
 +  - Je pars d'une vidéo nommée film.mkv dont je sectionne les 4 premières secondes avec [[doc:​media:​ffmpeg|ffmpeg]] : <code user>​ffmpeg -ss 00:00:00 -t 00:0:07 -i film.mkv -c copy cat.mkv</​code> ​
 +  - Puis convertir les images de cette mini video en fichiers PNG : <code user>​ffmpeg -i cat.mkv cat%d.png</​code>​
 +  - Supprimer les images en trop pour conserver une petite séquence d'une vingtaine d'​images,​ puis les réduire afin d'​obtenir une taille vignette : <code user>​mogrify -resize x120 *.png</​code>​
 +  - Et créer la séquence par exemple en 25 images seconde : <code user>​convert -delay 25 -loop 0 *.png cat.gif</​code>​
  
 +Résultat : {{/​file-R9a2e39b24a7df49acfb2e6267e244236.png}}
 +
 +Source de ce tuto :
 +  * http://​blog.dorian-depriester.fr/​linux/​creer-et-editer-des-gif-animes-avec-imagemagick#​Convertir_un_ensemble_de_fichiers_image_en_GIF_anime
 ===== Redimensionnement d'​images ===== ===== Redimensionnement d'​images =====
  
-Un autre usage courant consiste à redimensionner une image, grâce à l'​option -resize. Vous pouvez alors spécifier un redimensionnement en pourcentage (-resize 125% ou -resize 75%), spécifier une nouvelle largeur en pixels (-resize 640), une nouvelle hauteur (-resize x480) ou les deux à la fois (-resize 640x480).+Un autre usage courant consiste à redimensionner une image, grâce à l'​option -resize. Vous pouvez alors 
 +  * spécifier un redimensionnement en pourcentage (-resize 125% ou -resize 75%), 
 +  * spécifier une nouvelle largeur en pixels (-resize 640), une nouvelle hauteur (-resize x480) ou les deux à la fois (-resize 640x480). 
 Par exemple, pour une réduction uniforme à 80% de l'​image originale, vous utiliseriez : Par exemple, pour une réduction uniforme à 80% de l'​image originale, vous utiliseriez :
-<​code ​bash> +<​code ​user>convert -resize ​'80%' ​image_entrée.png image_sortie.png</​code>​
-convert -resize 80% image_entrée.png image_sortie.png</​code>​+
  
 et pour obtenir une image redimensionnée uniformément dont la nouvelle largeur serait 480 pixels : et pour obtenir une image redimensionnée uniformément dont la nouvelle largeur serait 480 pixels :
-<​code ​bash> +<​code ​user>convert -resize x480 image_entrée.png image_sortie.png</​code>​
-convert -resize x480 image_entrée.png image_sortie.png</​code>​+
  
-Bien sûr, vous pouvez à nouveau utiliser la commande mogrify pour redimensionner un lot d'​images : +Bien sûr, vous pouvez à nouveau utiliser la commande mogrify pour redimensionner un lot d'​images. \\ 
-<​code ​bash> +Cette commande va redimensionner et écraser les images .png par la nouvelle version, de plus petite dimension ​
-mogrify -resize x480 *.png</​code>​+<​code ​user>mogrify -resize x480 *.png</​code>​
  
-Cette commande va redimensionner et écraser les images .png par la nouvelle version, de plus petite dimension. ​Une dernière astuce très pratique consiste à ne redimensionner que les images qui sont plus grandes que la taille souhaitée. Par exemple, la commande qui suit : +Une dernière astuce très pratique consiste à ne redimensionner que les images qui sont plus grandes que la taille souhaitée ​en utilisant l'​option ''>''​\\ 
-<​code ​bash> +Par exemple, la commande qui suit : 
-mogrify -resize x480> *.png</​code>​+<​code ​user>mogrify -resize x480> *.png</​code>​
  
-ne redimensionnera l'​image que si sa hauteur est plus grande que 480 pixels, ce qui fait qu'une image faisant, par exemple, 200x200 pixels sera ignorée par la commande.+Ne redimensionnera l'​image que si sa hauteur est plus grande que 480 pixels, ce qui fait qu'une image faisant, par exemple, 200x200 pixels sera ignorée par la commande.
  
 ===== Création de miniatures ===== ===== Création de miniatures =====
Ligne 84: Ligne 104:
 Supposons que vous avez créé un répertoire de miniatures dans le même répertoire que les images à traiter. \\  Supposons que vous avez créé un répertoire de miniatures dans le même répertoire que les images à traiter. \\ 
 Vous pouvez créer une miniature pour chaque image et la placer dans le répertoire approprié, grâce à une commande unique composée des options -path (pour stocker le résultat de la commande dans un autre endroit ; ne marche qu'​avec les versions récentes d'​ImageMagick) et -thumbnail (pour générer les miniatures) : Vous pouvez créer une miniature pour chaque image et la placer dans le répertoire approprié, grâce à une commande unique composée des options -path (pour stocker le résultat de la commande dans un autre endroit ; ne marche qu'​avec les versions récentes d'​ImageMagick) et -thumbnail (pour générer les miniatures) :
-<​code ​bash> +<​code ​user>mogrify -path miniatures -thumbnail 125x125 *.png</​code>​
-mogrify -path miniatures -thumbnail 125x125 *.png</​code>​+
  
 Vous noterez que l'​option ''​-thumbnail''​ fonctionne de la même façon que l'​option ''​-resize''​. LOL Vous noterez que l'​option ''​-thumbnail''​ fonctionne de la même façon que l'​option ''​-resize''​. LOL
  
 +===== Découper une image =====
 +
 +Voir sur le forum :
 +[[https://​debian-facile.org/​viewtopic.php?​pid=240982#​p240982]]
 ===== Bordures ===== ===== Bordures =====
  
Ligne 95: Ligne 118:
  
     * Pour créer un cadre biseauté, on utilise l'​option -raise, qui permet d'​éclaircir et d'​assombrir les bords d'une image pour créer un effet 3D :     * Pour créer un cadre biseauté, on utilise l'​option -raise, qui permet d'​éclaircir et d'​assombrir les bords d'une image pour créer un effet 3D :
-<​code ​bash> +<​code ​user>convert mon_image.jpg -raise 50x50 image_cadre.jpg</​code>​
-convert mon_image.jpg -raise 50x50 image_cadre.jpg</​code>​+
  
     * On utilisera -raise ou +raise selon que l'on souhaite un effet relief ou creux. On notera que l'​option -raise utilise ici les pixels de l'​image pour créer le cadre. Les dimensions de l'​image restent donc identiques.     * On utilisera -raise ou +raise selon que l'on souhaite un effet relief ou creux. On notera que l'​option -raise utilise ici les pixels de l'​image pour créer le cadre. Les dimensions de l'​image restent donc identiques.
     * Pour ajouter un cadre 3D, on utilise l'​option -frame :     * Pour ajouter un cadre 3D, on utilise l'​option -frame :
  
-<​code ​bash> +<​code ​user>convert mon_image.jpg -mattecolor peru -frame 30x30+20+8 ​
-convert mon_image.jpg -mattecolor peru -frame +image_framed2.jpg</​code>​
-30x30+20+8 image_framed2.jpg</​code>​+
  
     * L'​option -mattecolor introduit la couleur du cadre (la couleur peru est utilisée ici) ; l'​option -frame permet de spécifier l'​épaisseur du cadre (horizontale puis verticale) et l'​épaisseur du biseau (externe puis interne).     * L'​option -mattecolor introduit la couleur du cadre (la couleur peru est utilisée ici) ; l'​option -frame permet de spécifier l'​épaisseur du cadre (horizontale puis verticale) et l'​épaisseur du biseau (externe puis interne).
     * Pour ajouter une ombre portée, on utilise l'​option -shadow :     * Pour ajouter une ombre portée, on utilise l'​option -shadow :
-<​code ​bash> +<​code ​user>convert mon_image.jpg \( +clone -background lightsteelblue ​\ 
-convert mon_image.jpg \( +clone -background lightsteelblue +  -shadow 60x3+30+30 \) +swap -background none \ 
--shadow 60x3+30+30 \) +swap -background none +  -mosaic image_shadow2.png</​code>​
--mosaic image_shadow2.png</​code>​+
  
 Remarquez ici l'​emploi du caractère \ qui agit comme protection des parenthèses pour que celles-ci, considérées comme caractères spéciaux du shell, ne soient pas interprétées par ce dernier. L'​utilisation des parenthèses dans une commande Imagemagick permet de créer une image intermédiaire et d'​introduire le résultat dans la suite de la ligne de commandes. Remarquez ici l'​emploi du caractère \ qui agit comme protection des parenthèses pour que celles-ci, considérées comme caractères spéciaux du shell, ne soient pas interprétées par ce dernier. L'​utilisation des parenthèses dans une commande Imagemagick permet de créer une image intermédiaire et d'​introduire le résultat dans la suite de la ligne de commandes.
Ligne 127: Ligne 147:
  
     * Pour encadrer la photo d'une bordure colorée, on peut utiliser l'​option -draw (on considère ici une photo de 2048x1536 pixels) :     * Pour encadrer la photo d'une bordure colorée, on peut utiliser l'​option -draw (on considère ici une photo de 2048x1536 pixels) :
-<​code ​bash> +<​code ​user>convert mon_image.jpg -fill none -stroke grey -strokewidth 59 
-convert mon_image.jpg -fill none -stroke grey -strokewidth 59 -draw '​rectangle 0,0 2047,​1535'​ image_bordure.jpg</​code>​+  ​-draw '​rectangle 0,0 2047,​1535'​ image_bordure.jpg</​code>​
  
 On trace en fait un rectangle autour de l'​image : On trace en fait un rectangle autour de l'​image :
  
-    * L'​option -draw permet de dessiner une forme géométrique (ici un rectangle de coordonnées x0, y0 x1, y1 ; d'​autres formes sont possibles). +    * L'​option ​''​-draw'' ​permet de dessiner une forme géométrique (ici un rectangle de coordonnées x0, y0 x1, y1 ; d'​autres formes sont possibles). 
-    * L'​option -fill définit la couleur de remplissage du rectangle (ici pas de remplissage). +    * L'​option ​''​-fill'' ​définit la couleur de remplissage du rectangle (ici pas de remplissage). 
-    * L'​option -stroke définit la couleur de contour du rectangle. +    * L'​option ​''​-stroke'' ​définit la couleur de contour du rectangle. 
-    * L'​épaisseur du contour est contrôlée par l'​option -stroke width, qui fonctionne comme suit : valeur de strokewidth = épaisseur de bordure x2 -1. Pour une épaisseur de 30 pixels, nous avons donc spécifié -strokewidth 59 (30x2-1).+    * L'​épaisseur du contour est contrôlée par l'​option ​''​-stroke width''​, qui fonctionne comme suit : valeur de strokewidth = épaisseur de bordure x2 -1. Pour une épaisseur de 30 pixels, nous avons donc spécifié -strokewidth 59 (30x2-1).
  
-Tout comme avec l'​option -raise, l'​image conserve ici ses dimensions initiales. En revanche, si l'on utilise l'​option -border,+Tout comme avec l'​option ​''​-raise''​, l'​image conserve ici ses dimensions initiales. En revanche, si l'on utilise l'​option -border,
 les dimensions de la bordure viennent s'​ajouter à celles de l'​image initiale. les dimensions de la bordure viennent s'​ajouter à celles de l'​image initiale.
  
Ligne 147: Ligne 167:
  
 L'​option ''​-border''​ ajoute une bordure //autour// de l'​image. L'​option ''​-border''​ ajoute une bordure //autour// de l'​image.
-<​code ​bash> +<​code ​user> convert mon_image.jpg -bordercolor teal -border 50 image_border.jpg</​code>​
- convert mon_image.jpg -bordercolor teal -border 50 image_border.jpg</​code>​+
  
 On peut ajouter des bordures à la bordure précédente,​ par exemple : On peut ajouter des bordures à la bordure précédente,​ par exemple :
-<​code ​bash> +<​code ​user>convert mon_image.jpg -bordercolor white -border 10 -bordercolor black 
- convert mon_image.jpg -bordercolor white -border 10 -bordercolor black -border 20 -bordercolor gold -border 8 -bordercolor black -border 50 image_border.jpg</​code>​+  ​-border 20 -bordercolor gold -border 8 -bordercolor black -border 50 
 +  -image_border.jpg</​code>​
  
 Ce qui se lit : Ce qui se lit :
Ligne 164: Ligne 184:
 Ce qui donne : Ce qui donne :
  
-{{http://​images.debian-facile.org/​file-R19bcab845ef1f8801cceeb5fc67d7231.png?​400}}+{{/​file-R19bcab845ef1f8801cceeb5fc67d7231.png?​400}}
  
 Et nous pouvons y ajouter une petit bord façon cadre en bois ainsi : Et nous pouvons y ajouter une petit bord façon cadre en bois ainsi :
-<​code ​bash> +<​code ​user>convert mon_image.jpg -mattecolor peru -frame 15x15+5+5 image_border.jpg</​code>​
- convert mon_image.jpg -mattecolor peru -frame 15x15+5+5 image_border.jpg</​code>​+
  
 Ce qui donne : Ce qui donne :
  
-{{http://​images.debian-facile.org/​file-R3d90f9c9036dd163447de3b4f18c107f.png?​400}}+{{/​file-R3d90f9c9036dd163447de3b4f18c107f.png?​400}}
  
 ===== Légender une image ===== ===== Légender une image =====
Ligne 180: Ligne 199:
 La commande est toutefois complexe : La commande est toutefois complexe :
 <​code>​ <​code>​
- ​width=`identify -format %w [fichier_source]`convert -background '​[couleur_fond]'​ -fill [couleur_texte] -gravity [alignement_horizontal] -size ${width}x[hauteur] caption:"​[Légende]"​ +size [photo_source.jpg] +swap -gravity [alignement_vertical] -composite [fichier_cible]</​code>​+ ​width=`identify -format %w [fichier_source]`convert -background '​[couleur_fond]'​ -fill [couleur_texte] -gravity [alignement_horizontal] -size ${width}x[hauteur] caption:"​[Légende]"​ +size [photo_source.jpg] +swap -gravity [alignement_vertical] -composite [fichier_cible]</​code>​
  
 Les paramètres à spécifier sont les suivants : Les paramètres à spécifier sont les suivants :
Ligne 197: Ligne 216:
  
 Dans un [[:​doc:​systeme:​terminal]] //user//, utiliser la commande [[:​doc:​systeme:​locate]] ainsi : Dans un [[:​doc:​systeme:​terminal]] //user//, utiliser la commande [[:​doc:​systeme:​locate]] ainsi :
-<​code ​bash+<​code ​user
-locate -r '​\.ttf$'​+locate -r '​\.ttf$'​</​code>​ 
 +<file config retour de la commande>​
 /​home/​mon_user/​.fonts/​FOO.ttf /​home/​mon_user/​.fonts/​FOO.ttf
 /​home/​mon_user/​Téléchargements/​font/​foo/​FOO.ttf /​home/​mon_user/​Téléchargements/​font/​foo/​FOO.ttf
Ligne 208: Ligne 228:
 /​usr/​share/​fonts/​truetype/​freefont/​FreeMonoBold.ttf /​usr/​share/​fonts/​truetype/​freefont/​FreeMonoBold.ttf
 etc... etc...
-</code>+</file>
  
 Maintenant, pour utiliser une des polices **.ttf** disponibles,​ par exemple la police : //​LiberationSerif-Italic.ttf//​ vous ajouter l'​option -font suivi du chemin de cette police trouvé par la commande précédente ainsi : Maintenant, pour utiliser une des polices **.ttf** disponibles,​ par exemple la police : //​LiberationSerif-Italic.ttf//​ vous ajouter l'​option -font suivi du chemin de cette police trouvé par la commande précédente ainsi :
Ligne 216: Ligne 236:
  
 Pour placer le titrage en bas et au centre d'une photo, par exemple : Pour placer le titrage en bas et au centre d'une photo, par exemple :
-<​code ​bash> +<​code ​user>​width=`identify -format %w source.jpg`;​ convert -geometry +0+0 
-width=`identify -format %w source.jpg`;​ convert -geometry +0+0 -background '​none'​ -fill black -font /​home/​mon_user/​polices/​ARIALNI.ttf -gravity center -size ${width}x200 caption:"​Test de titrage 2012" +size source.jpg +swap -gravity south -composite source_resultat.jpg</​code>​+  ​-background '​none'​ -fill black -font /​home/​mon_user/​polices/​ARIALNI.ttf ​
 +  ​-gravity center -size ${width}x200 caption:"​Test de titrage 2012" +size source.jpg ​
 +  ​+swap -gravity south -composite source_resultat.jpg</​code>​
  
 Toutefois, avec cette disposition,​ le titrage est pile au bord de l'​image,​ pour le distancer un peu de ce bord, nous le relevons de 20 pixel du bas en utilisant l'​option //​-geometry//​ ainsi : Toutefois, avec cette disposition,​ le titrage est pile au bord de l'​image,​ pour le distancer un peu de ce bord, nous le relevons de 20 pixel du bas en utilisant l'​option //​-geometry//​ ainsi :
-<​code ​bash+<​code ​user
-width=`identify -format %w source.jpg`;​ convert -geometry +0+0 -background '​none'​ -fill black -font /​home/​mon_user/​polices/​ARIALNI.ttf -gravity center -size ${width}x200 caption:"​Test de titrage 2012" +size source.jpg +swap -gravity south -geometry +0+20 -composite source_resultat.jpg</​code>​+width=`identify -format %w source.jpg`;​ convert -geometry +0+0 -background '​none' ​
 +  ​-fill black -font /​home/​mon_user/​polices/​ARIALNI.ttf -gravity center ​
 +  ​-size ${width}x200 caption:"​Test de titrage 2012" +size source.jpg +swap 
 +  ​-gravity south -geometry +0+20 -composite source_resultat.jpg</​code>​
  
 Pour un texte en //Arial// de couleur blanche (white), à l'est (east), en bas (south), de 50 pixel de haut et à 20 pixel des bords droits et bas, la ligne est : Pour un texte en //Arial// de couleur blanche (white), à l'est (east), en bas (south), de 50 pixel de haut et à 20 pixel des bords droits et bas, la ligne est :
-<​code ​bash> +<​code ​user>​width=`identify -format %w source.jpg`;​ convert -geometry +0+0 
-width=`identify -format %w source.jpg`;​ convert -geometry +0+0 -background '​none'​ -fill white -font /​home/​mon_user/​polices/​ARIALNI.ttf -gravity east -size ${width}x50 caption:"​Photo Joël Smolski"​ +size source.jpg +swap -gravity south -geometry -20+20 -composite source_resultat.jpg</​code>​+  ​-background '​none'​ -fill white -font /​home/​mon_user/​polices/​ARIALNI.ttf ​
 +  ​-gravity east -size ${width}x50 caption:"​Photo Joël Smolski"​ +size source.jpg ​
 +  ​+swap -gravity south -geometry -20+20 -composite source_resultat.jpg</​code>​
 À noter l'​utilisation en **négatif** des 20 pixel du bord dans l'​option //​geometry//​ : ''​-geometry -20+20''​ À noter l'​utilisation en **négatif** des 20 pixel du bord dans l'​option //​geometry//​ : ''​-geometry -20+20''​
  
Ligne 244: Ligne 271:
  
 Pour le titre : Pour le titre :
-<​code ​bash> +<​code ​user>​width=`identify -format %w image_border.jpg`;​ convert -geometry +0+0 
-width=`identify -format %w image_border.jpg`;​ convert -geometry +0+0 -background '​none'​ -fill gold -font /​home/​user/​polices/​BRUSHSCI.ttf -gravity center -size ${width}x50 caption:"​Le Mont du Chat" +size image_border.jpg +swap -gravity south -geometry -0+30 -composite cadre_titre.jpg</​code>​+  ​-background '​none'​ -fill gold -font /​home/​user/​polices/​BRUSHSCI.ttf -gravity center ​
 +  ​-size ${width}x50 caption:"​Le Mont du Chat" +size image_border.jpg +swap 
 +  ​-gravity south -geometry -0+30 -composite cadre_titre.jpg</​code>​
  
 === TP_Signature === === TP_Signature ===
  
 Pour la signature : Pour la signature :
-<​code ​bash> +<​code ​user>​width=`identify -format %w cadre_titre.jpg`;​ convert -geometry +0+0 
-width=`identify -format %w cadre_titre.jpg`;​ convert -geometry +0+0 -background '​none'​ -fill gold -font /​home/​user/​polices/​arialbd.ttf -gravity east -size ${width}x8 caption:"​Photo Joel Smolski"​ +size cadre_titre.jpg +swap -gravity south -geometry -25+20 -composite cadre_titres.jpg</​code>​+  ​-background '​none'​ -fill gold -font /​home/​user/​polices/​arialbd.ttf -gravity east 
 +  ​-size ${width}x8 caption:"​Photo Joel Smolski"​ +size cadre_titre.jpg +swap 
 +  ​-gravity south -geometry -25+20 -composite cadre_titres.jpg</​code>​
  
 //Et voilà, c'est fini Nini !// ;-) //Et voilà, c'est fini Nini !// ;-)
  
-{{http://​images.debian-facile.org/​file-Rd02cd15f5c56506cfca3229ad81b6c7c.png?​400}}+{{/​file-Rd02cd15f5c56506cfca3229ad81b6c7c.png?​400}}
  
 ==== Source : ==== ==== Source : ====
Ligne 267: Ligne 298:
 Si vous êtes aussi bon photographe que moi, de nombreuses photographies sous-exposées doivent occuper votre album photo. Heureusement,​ la commande convert nous apporte une correction simple des images, grâce à la fonction -sigmoidal-contrast,​ qui permet d'​augmenter le contraste sans pour autant saturer les zones de lumière et les ombres. Elle admet deux paramètres,​ séparés par une virgule : le premier indique l'​intensité de la correction de contraste (essayez de faibles valeurs, de l'​ordre de 1 à 4, dans un premier temps, avant de vous hasarder à des valeurs plus élevées qui gâcheront probablement vos clichés) ; le deuxième (en %) permet de tirer la luminosité vers le haut (0%, blanc) ou vers le bas (100%, noir), par translation des tons moyens de la photographie vers le pourcentage spécifié. Si vous êtes aussi bon photographe que moi, de nombreuses photographies sous-exposées doivent occuper votre album photo. Heureusement,​ la commande convert nous apporte une correction simple des images, grâce à la fonction -sigmoidal-contrast,​ qui permet d'​augmenter le contraste sans pour autant saturer les zones de lumière et les ombres. Elle admet deux paramètres,​ séparés par une virgule : le premier indique l'​intensité de la correction de contraste (essayez de faibles valeurs, de l'​ordre de 1 à 4, dans un premier temps, avant de vous hasarder à des valeurs plus élevées qui gâcheront probablement vos clichés) ; le deuxième (en %) permet de tirer la luminosité vers le haut (0%, blanc) ou vers le bas (100%, noir), par translation des tons moyens de la photographie vers le pourcentage spécifié.
 Par exemple : Par exemple :
-<​code ​bash> +<​code ​user>convert [fichier_source] -sigmoidal-contrast 5,0% [fichier_cible]</​code>​
-convert [fichier_source] -sigmoidal-contrast 5,0% +
-[fichier_cible]</​code>​+
  
 Cela va augmenter sensiblement le contraste tout en tirant la luminosité vers le haut. Cela va augmenter sensiblement le contraste tout en tirant la luminosité vers le haut.
Ligne 280: Ligne 309:
  
 Cet opérateur permet de transformer une photographie en aplats aux contours diffus qui ne seront pas sans rappeler des coups de pinceau sur une toile de maître, d'où son nom. L'​opérateur -paint admet un rayon en guise de valeur. Plus il est élevé, plus la peinture paraîtra grossière ; essayez des valeurs comprises entre 3 et 10 pour saisir l'​influence du rayon... Exemple de commande : Cet opérateur permet de transformer une photographie en aplats aux contours diffus qui ne seront pas sans rappeler des coups de pinceau sur une toile de maître, d'où son nom. L'​opérateur -paint admet un rayon en guise de valeur. Plus il est élevé, plus la peinture paraîtra grossière ; essayez des valeurs comprises entre 3 et 10 pour saisir l'​influence du rayon... Exemple de commande :
-<​code ​bash> +<​code ​user>convert [fichier_source] -paint 3 [fichier_cible]</​code>​
-convert [fichier_source] -paint 3 [fichier_cible]</​code>​+
  
 ===== Colorspace ===== ===== Colorspace =====
  
-Cet opérateur permet de changer l'​espace de couleur d'une image. Une application typique consiste à s'en servir pour transformer une image couleur en image noir et blanc (Fig. 5). Il suffit en effet de spécifier à l'​opérateur -colorspace la valeur Gray.+Cet opérateur permet de changer l'​espace de couleur d'une image. Une application typique consiste à s'en servir pour transformer une image couleur en image noir et blanc. Il suffit en effet de spécifier à l'​opérateur -colorspace la valeur Gray.
  
 Par exemple : Par exemple :
Ligne 291: Ligne 319:
 ==== Negate ==== ==== Negate ====
  
-L'​opérateur -negate va tout simplement réaliser l'​inversion vidéo de la photographie ​(Fig. 6). Par exemple :+L'​opérateur -negate va tout simplement réaliser l'​inversion vidéo de la photographie. Par exemple : 
 Et cette dernière commande peut être appliquée à un seul canal de couleur, via l'​option -channel comme ceci : Et cette dernière commande peut être appliquée à un seul canal de couleur, via l'​option -channel comme ceci :
  
Ligne 297: Ligne 326:
  
 Ces deux opérateurs sont très simples à mettre en oeuvre, car ils ne nécessitent aucune autre valeur pour fonctionner. Le premier, -flip, permet de retourner l'​image de bas en haut, tandis que le second, -flop, permet de retourner l'​image de gauche à droite, comme si elle se reflétait dans un miroir. Par exemple : Ces deux opérateurs sont très simples à mettre en oeuvre, car ils ne nécessitent aucune autre valeur pour fonctionner. Le premier, -flip, permet de retourner l'​image de bas en haut, tandis que le second, -flop, permet de retourner l'​image de gauche à droite, comme si elle se reflétait dans un miroir. Par exemple :
-<​code ​bash> +<​code ​user>convert [fichier_source] -flip [fichier_cible]</​code>​
-convert [fichier_source] -flip [fichier_cible]</​code>​+
  
 et et
-<​code ​bash> +<​code ​user>convert [fichier_source] -flop [fichier_cible]</​code>​
-convert [fichier_source] -flop [fichier_cible]</​code>​+
  
 ===== Couleurs ===== ===== Couleurs =====
Ligne 310: Ligne 337:
 Quelles couleurs utiliser dans les commandes ImageMagick ? Quelles couleurs utiliser dans les commandes ImageMagick ?
  
-Pour en obtenir la liste complète (noms + codes RGB), entrez simplement la commande((Voir : [[:​doc:​editeurs:​less]] et [[:​doc:​programmation:​shell:​pipe]] : ]])) : +Pour en obtenir la liste complète (noms + codes RGB), entrez simplement la commande((Voir : [[:​doc:​editeurs:​less]] et [[:​doc:​programmation:​shell:​pipe]])) : 
-<​code ​bash> +<​code ​user>​identify -list color | less</​code>​
-identify -list color | less</​code>​+
  
 ==== transparent ==== ==== transparent ====
Ligne 330: Ligne 356:
  
 Pour effectuer une capture totale ou partielle de l'​écran,​ on utilisera la commande import, comme suit : où N représente le nombre de secondes qui vont s'​écouler avant la mise en route de la fonction capture. Pour effectuer une capture totale ou partielle de l'​écran,​ on utilisera la commande import, comme suit : où N représente le nombre de secondes qui vont s'​écouler avant la mise en route de la fonction capture.
-<​code ​bash> +<​code ​user>import -pause N fichier_cible</​code>​
-import -pause N fichier_cible</​code>​+
  
 Par exemple, vous souhaitez capturer une partie de votre écran. Le temps de bien organiser l'​ensemble des fenêtres de l'​écran et de n'​afficher que ce qui vous intéresse, vous estimez le temps de pause à 10 secondes. Et vous souhaitez enregistrer la capture sous le nom de capture.png : Par exemple, vous souhaitez capturer une partie de votre écran. Le temps de bien organiser l'​ensemble des fenêtres de l'​écran et de n'​afficher que ce qui vous intéresse, vous estimez le temps de pause à 10 secondes. Et vous souhaitez enregistrer la capture sous le nom de capture.png :
-<​code ​bash> +<​code ​user>import -pause 10 capture.png</​code>​
-import -pause 10 capture.png</​code>​+
  
 10 secondes après avoir entré cette commande, votre pointeur de souris se transforme en petite croix : vous n'avez qu'à sélectionner la portion d'​écran que vous souhaitez capturer (par cliquer/​glisser). L'​image sera enregistrée à l'​endroit où vous saisissez la ligne de commandes. 10 secondes après avoir entré cette commande, votre pointeur de souris se transforme en petite croix : vous n'avez qu'à sélectionner la portion d'​écran que vous souhaitez capturer (par cliquer/​glisser). L'​image sera enregistrée à l'​endroit où vous saisissez la ligne de commandes.
Ligne 341: Ligne 365:
 ===== Automatisation ===== ===== Automatisation =====
  
-<note important>​''​ATTENTION !'' ​\\  +<note important>​**ATTENTION ​Grave !** \\  
-N'​exécutez ces commandes que sur des images de sauvegarde et non sur les originaux !</​note>​+N'​exécutez ces commandes que sur **des images de sauvegarde** et non sur les originaux !</​note>​
  
-recompresser ​une image : +Recompresser ​une image : 
-<​code ​bash> +<​code ​user>mogrify -quality 60 mon_image.jpg</​code>​
-mogrify -quality 60 mon_image.jpg</​code>​+
  
-ou encore, pour envoyer par mail : +Ou encore, pour envoyer par mail : 
-<​code ​bash> +<​code ​user>mogrify -quality 60 -size 800 mon_image.jpg</​code>​
-mogrify -quality 60 -size 800 mon_image.jpg</​code>​+
  
-évidemment, pour toute une arborescence (fichier, répertoires et sous répertoires) : +Évidemment, pour toute une arborescence (fichier, répertoires et sous répertoires) ​utilisez [[doc:​systeme:​find|find]] ​
-<​code ​bash> +<​code ​user>find -iname *.jpg -exec mogrify -quality 60 -size 800 {} \+</​code>​
-find -iname *.jpg -exec mogrify -quality 60 -size 800 {} \+</​code>​+
  
 ===== TP convert ===== ===== TP convert =====
Ligne 361: Ligne 382:
  
 ===== Liens et remerciements ===== ===== Liens et remerciements =====
- 
-Ce tuto doit tout à : 
-  * http://​www.unixgarden.com/​index.php/​graphisme/​imagemagick-quelques-usages-courants 
-  * http://​brunetton.tuxfamily.org/​index.php?​n=Main.ReduireJpegs 
- 
-//​Qu'​eux et leurs descendances baignent à jamais dans les eaux pures de la reconnaissance générale libriste.// 
  
 Le site de l'​utilisation détaillée d'​**imagemagick** : Le site de l'​utilisation détaillée d'​**imagemagick** :
Ligne 374: Ligne 389:
 Et là un lien en français des options dans le détail. Attention, c'est rempli ! :-D Et là un lien en français des options dans le détail. Attention, c'est rempli ! :-D
   * http://​softlibre.gloobe.org/​imagemagick/​doc_start   * http://​softlibre.gloobe.org/​imagemagick/​doc_start
 +
 +Autre lien vers le forum :
 +  * [[https://​debian-facile.org/​viewtopic.php?​pid=374286#​p374286]]
  
 ===== Logiciel analogue ===== ===== Logiciel analogue =====
   * [[http://​www.graphicsmagick.org/​|GRAPHICSMAGICK]] Une variante, performante sur les très grosses images.   * [[http://​www.graphicsmagick.org/​|GRAPHICSMAGICK]] Une variante, performante sur les très grosses images.
 +
 + 
 +Pour les allergiques à la ligne de commande, //​**Converseen**//​ est un outil graphique de convert.
 +
 +<code root>apt install converseen</​code>​
 +
 + ​Converseen est un processeur d'​images par lots multiplateforme gratuit qui vous permet de convertir, redimensionner,​ faire pivoter et retourner un nombre infini d'​images en un clic de souris, qui, grâce à ImageMagick , prend en charge plus de 100 formats d'​image,​ il utilise la bibliothèque de manipulation d'​images gratuite ImageMagick.
doc/media/imagemagick.txt · Dernière modification: 15/05/2023 18:06 par lagrenouille

Pied de page des forums

Propulsé par FluxBB