Initiation au langage G’mic

0-Introduction dispensable

Avant d’être un populaire greffon pour Gimp, G’mic est un logiciel en ligne de commande dédié au traitement d’images. Ce tutoriel suppose que les lignes de commande sont tapées dans un terminal Unix. Les utilisateurs de Windows devront s’adapter et voudront peut-être installer MinGW. Il est aussi possible de tester les notions développées ici dans un filtre prévu pour le greffon.

Toutes les lignes de commande G’mic ressemblent formellement à : 

gmic -instruction1 arguments -instruction2 arguments etc...

Tout est déjà expliqué dans la page de référence officielle, mais ça vous semblera surement trop aride là-bas, pour un peu de luxuriance, voyez ci-dessous.

1-Exemple de base

Avant d’appliquer un traitement à une image, G’mic doit la charger avec l’instruction -input. Après le traitement, vous voudrez probablement décharger le résultat final sur votre disque dur en utilisant l’instruction -output.

Prenons un exemple de base. Pour faire tourner de 90° une image appelée image.jpg et sauver le résultat en tant que fichier au format PNG, vous utiliserez la commande:

gmic -input image.jpg -rotate 90 -output image.png

Vous remarquerez que G’mic retourne le détail des opérations dans le terminal. Pour la ligne de commande précédente, vous devriez avoir quelque chose comme ça:

[gmic]-0./ Start G'MIC instance.
[gmic]-0./ Input file 'image.jpg' at position [0] (1 image 512x384x1x3).
[gmic]-1./ Rotate image [0] of 90 deg., black borders and linear interpolation.
[gmic]-1./ Output image [0] as file 'image.png'.
[gmic]-1./ End G'MIC instance.

Comme ça, vous ne pourrez pas dire que vous ne savez pas ce qu’il se passe.

 

De Rantz, CC-by-nc-sa

2-Les alias

Pour faciliter les choses, les instructions les plus courantes ont des alias. Par exemple, -input peut être remplacé par -i et -output par -o. Ainsi, notre exemple de base peut être réécrit:

gmic -i image.jpg -rotate 90 -o image.png

En fait, l’instruction -input est tellement courante qu’une façon encore plus rapide de l’invoquer est implémentée dans G’mic: il suffit de taper directement le nom de l’image sans aucune instruction. La ligne de commande suivante est donc l’exacte équivalente de la précédente:

gmic image.jpg -rotate 90 -o image.png

N’en espérez pas plus, ça n’ira pas plus vite.

3-Détails à propos de -output

3.1-Formats

vous pouvez sauver l’image que vous traitez n’importe où dans la ligne de commande (avant ou après une opération) et le nom du fichier de sortie détermine le format. Ainsi, avec la ligne de commande suivante, vous obtenez 3 images dans 3 différents formats, la BMP n’a pas subi de rotation alors que les autres, si.

gmic image.jpg -o image.bmp -rotate 90 -o image.png -o image.tga

A propos, par défaut, G’mic sauvegarde les fichiers JPEG avec la qualité 100, ce qui est probablement plus que ce que vous souhaiteriez. Pour sauvegardez en qualité 95, utilisez -o image.jpg,95

3.2-Affichage

Si vous ne spécifiez aucune instruction -output (ou -o) ou si vous donnez explicitement l’instruction -display, alors G’mic affichera votre image sur l’écran. Les 2 prochaines lignes de commandes font la même chose: elles affichent l’image après avoir fait une rotation de 45°.

gmic image.jpg -rotate 45
gmic image.jpg -rotate 45 -display

Tapez ‘q’ pour quitter l’écran d’affichage.

Il y a encore beaucoup à dire sur l’écran d’affichage, mais ce ne sera pas pour maintenant.

4-Les arguments de l’instruction

Depuis le début, l’image effectue des rotations, uniquement des rotations. Mais comme la plupart des instructions G’mic, l’instruction -rotate possède de nombreux arguments afin de spécifier la façon dont doit se passer cette la rotation. Si vous regardez, la page de documentation officielle, vous trouverez la ligne expliquant comment -rotate fonctionne. Ça commence par:

-rotate angle,_borders,_interpolation,_cx[%],_cy[%],_zoom

Cela signifie que -rotate peut avoir jusqu’à 6 arguments. Le premier (angle) doit être spécifié. Les autres commencent par un soulignement ( _ ), cela veut dire qu’ils sont optionnels. Quelques tests devraient suffire à vous faire comprendre le fonctionnement. Essayez ces lignes par exemple:

gmic image.jpg -rotate 30,1
gmic image.jpg -rotate 30,0,0,50%,50%
gmic image.jpg -rotate 30,0,0,0%,0%,0.5

Vous pouvez aussi obtenir la documentation officielle hors connexion avec man gmic ou gmic -h.

5-Gestion de plusieurs images

5.1-Toutes comme une

Vous pouvez gérer plusieurs images à la fois, il suffit de toutes les charger. Par exemple, les lignes suivantes chargent les images et les affichent:

gmic image1.jpg image2.jpg image3.jpg
gmic image*.jpg

Si vous écrivez votre ligne de commande comme dans le chapitre précédent, les instructions G’mic seront alors appliquées à toutes les images chargées. En lançant la ligne suivante:

gmic image*.jpg -rotate 90 -o image.png

Vous ordonnez à G’mic d’appliquer une rotation à tous les fichiers image*.jpg et de les sauver en tant que PNG. Mais il ne sauvera pas plusieurs images dans un seul fichier appelé image.png, il les nommera image_000001.png, image_000002.png, image_000003.png, etc.

5.2-Restreindre l’instruction à seulement quelques images

Vous pouvez spécifier les images sur lesquelles vous voulez appliquer une instruction en ajoutant le numéro de l’image, en commençant par 0, entre crochets:

gmic image*.jpg -rotate[0] 90

n’effectue la rotation que sur la première image chargée.

gmic image*.jpg -o[1] image.png

sauvegarde seulement la deuxième en tant que image.png.

Si vous utilisez des nombres négatifs, vous commencez par la dernière image:

gmic image*.jpg -rotate[-1] 90

n’effectue la rotation que sur la dernière image chargée.

gmic image*.jpg -rotate[-2] 90

n’effectue la rotation que sur l’avant-dernière.

Vous pouvez aussi sélectionner un jeu d’image à manipuler:

gmic image*.jpg -rotate[0,2,-1] 90 tourne la première, la troisième et la dernière.
gmic image*.jpg -rotate[0-9] 90 tourne les 10 premières images.
gmic image*.jpg -rotate[0-10:3] 90 tourne une image sur 3 en commençant par la première et finissant par la onzième, i.e. la première, la quatrième, la septième et la dixième.
gmic image*.jpg -rotate[0,-4--1] 90 tourne la première et les 4 dernières.
gmic image*.jpg -rotate[50%-100%] 90 tourne la seconde moitié de la liste d’images.
gmic image*.jpg -rotate[0,50%--1] 90 tourne la première image et la seconde moitié de la liste d’images.

Modifié de Rantz, CC-by-nc-sa

5.3-Conserver l’original

Par défaut, une instruction remplace l’image originale by celle manipulée. il y a une façon de conserver l’originale: utiliser le double tiret (- -). Ex:

gmic image.jpg --rotate 90

produit 2 images: image.jpg et image.jpg tournée de 90°. Plus de détails sont disponibles ici.

5.4-Manipuler la liste d’images

Comme vous l’avez vu dans le chapitre précédent, l’ordre des images est important. Vous pouvez modifier cet ordre quand bon vous semble en utilisant -move or -reverse:

gmic image*.jpg -move[50%-100%] 0

déplace la deuxième moitié des images au début.

gmic image*.jpg -reverse

inverse l’ordre de toutes les images.
Vous pouvez aussi ne conserver qu’une partie des images de votre liste avec -keep ou vous débarrasser de certaines avec -remove. Si vous vous sentez perdu parfois, regardez ce que G’mic retourne dans le terminal, il devrait signaler combien d’images il reste.

6-Les commandes personnalisées

Quand vous commencez à jouer sérieusement avec G’mic, les lignes de commandes peuvent devenir bien longue. Une solution élégante consiste en l’écriture d’une commande personnalisée. De nombreuses commandes personnalisées existent déjà, vous pouvez les étudier et beaucoup apprendre à travers elles.

Ça vous aiderait probablement d’avoir un peu plus d’explications sur l’art d’écrire des commandes personnalisées, mais vous n’en trouverez pas ici. Tout ce qui sera dit est qu’il vous faut charger votre commande personnalisée avant de pouvoir l’utiliser.

Cela se fait en utilisant l’instruction -command ou -m ou encore sans instruction du tout si votre fichier finit par .gmic. Ainsi, les 3 prochaines lignes de commandes font la même chose:

gmic -command mon_fichier_de_commande_personnalisee.gmic image.jpg -my_command
gmic -m mon_fichier_de_commande_personnalisee.gmic image.jpg -my_command
gmic mon_fichier_de_commande_personnalisee.gmic image.jpg -my_command

7-Aller plus loin

Pour aller plus loin, il peut sembler logique de consulter cet article. Puis, pour augmenter votre culture G’mic, vous devriez sans doute cliquer sur les images de la galerie et pour maitriser la technique, n’oubliez pas le fichier de commandes personnalisées.
Vous êtes aussi invités à partager vos problèmes et vos solutions au forum(en).

De Rantz, CC-by-nc-sa

About these ads
  1. February 11th, 2011

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: