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
gmic [Le 29/04/2010, 09:21]
164.81.30.2
gmic [Le 11/09/2022, 10:32] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>Hardy Intrepid Jaunty ​graphisme ​BROUILLON}}+{{tag>Xenial Bionic ​graphisme}}
  
 ---- ----
  
 +{{ http://​gmic.sourceforge.net/​img/​logo.png}}
 ====== G'MIC ===== ====== G'MIC =====
-**G'​MIC** est un outil de traitement d'​images en ligne de commande. Il propose un ensemble de fonctions de base combinables en macros, ce qui le rend très puissant. Grâce à sa logique d'​exécution de la gauche vers la droite et à ses commentaires détaillés,​ il est aussi très lisible. En plus du traitement traditionnel d'​images,​ G'mic permet par exemple, de gérer les images 3D et d'​estimer le mouvement entre 2 images. 
  
-Il existe un [[http://​gmic.sourceforge.net/​gimp.shtml|plugin ​G'mic]] pour Gimp permettant l'utilisation graphique ​de nombreuses ​macros. +**G'MIC** est un outil de traitement d'images en ligne de commande. Il propose un ensemble de fonctions ​de base combinables en macros.
-===== Installation ======+
  
-Le paquet **gmic** n'est pas disponible dans les dépôts officiels. Pour l'​installer,​ il vous faudra soit télécharger le fichier deb directement du site officiel, soit [[:tutoriel:​comment_modifier_sources_maj|modifier vos sources de mises à jour]] pour y ajouter le dépôt adéquatLa dernière solution aura l'​avantage de vous proposer les mises à jour automatiquementVous pouvez aussi vous contenter d'​installer le plugin pour Gimp si vous n'​êtes pas intéressé par l'​utilisation de la ligne de commande.+Il est aussi proposé sous forme de [[http://gmic.eu/gimp.shtml|plugin pour Gimp]] permettant ​l'​utilisation de nombreuses macros avec une interface graphique.
  
-Bien que prévus pour Debian, les paquets sont aussi testés ​et donc parfaitement fonctionnels sous ubuntuPar contreaucun paquet n'existe pour l'instant pour Karmic.+===== Pré-requis ===== 
 +  
 +  * Disposer des [[:​sudo|droits d'​administration]]. 
 +  * Disposer d'une connexion à Internet configurée ​et activée. 
 +   
 +===== Installation ===== 
 +  
 +Pour installer ce logicielil suffit d'[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​gmic|G'mic]]**.
  
-==== Installation ​du paquet seul ===== +===== Utilisation ​du Plugin ====== 
-[[http://​sourceforge.net/​projects/​gmic/​files/​gmic|Télécharger le paquet deb]] vous correspondant (par exemple //​gmic_1.3.2.9_i386.deb//​ ou //​gmic_1.3.2.9_amd64.deb//​) et [[:​tutoriel:​comment_installer_un_paquet#​installer_un_paquet_hors_depots_non_recommande|installez-le]].+Vous trouverez ​le plugin pour Gimp tout en bas de l'​onglet Filtres.
  
-Sous Karmic, il faudra rajouter un lien: +===== Utilisation en ligne de commande ======
-  sudo ln -s /​usr/​lib/​libGraphicsMagick++.so.3 /​usr/​lib/​libGraphicsMagick++.so.1+
  
-==== Installation avec dépôt extérieur =====+Pour afficher une image dans le visionneur G'​mic:​ 
 +  gmic image.jpg 
 +En fait, cette commande charge le fichier image.jpg et comme aucune sortie particulière n'est stipulée, il l'​affiche.
  
-Modifiez [[:​tutoriel:​comment_modifier_sources_maj|vos sources ​de mises à jour]] pour y ajouter le dépôt suivant ​:+Pour effectuer une rotation ​de 90° puis sauver l'​image dans un fichier au format png: 
 +  gmic image.jpg -rotate 90 -output image.png
  
-  deb http://​download.tuxfamily.org/​xcfaudio/​gmic testing contrib+Il est aisé de travailler sur plusieurs images à la fois.
  
-et rajouter la [[:​tutoriel:​comment_modifier_sources_maj#​gerer_les_cles_d_authentification|clef d'​authentification]] en tapant dans une console: +Par exemple, la commande ​ci-dessous charge 3 images, ​fait une rotation ​de la premièrerehausse ​les contours ​de la deuxième et met la deuxième et la troisième ​en noir et blanc avant de sauver tout le monde au format png. 
- +  gmic image0.jpg image1.jpg image2.jpg -rotate[0] 35 -sharpen[1300 -luminance[1,2] -output dd.png 
-  sudo wget http://​download.tuxfamily.org/​xcfaudio/​download/​xcfaudio.key.asc -O - | sudo apt-key add - +En effet, les images ​chargées ​sont numérotées ​en partant ​de 0 et placer ​le numéro ​de l'​image ​entre crochets permet ​de n'effectuer ​une manipulation que sur celle-ci.
- +
-[[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|Rechargez la liste des paquets]] et [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​gmic|gmic]]**. +
- +
-==== Installation du plugin Gimp uniquement ===== +
- +
-[[http://​sourceforge.net/​projects/​gmic/​files|Télécharger le fichier]] correspondant à votre distribution (//​gmic_gimp_linux32.zip//​ ou //​gmic_gimp_linux64.zip//​) et dézipper-le dans votre répertoire //​$HOME/​.gimp-2.x/​plug-ins//​. +
-Vous trouverez le plugin en bas du menu Filtres de gimp. +
- +
-===== Utilisation de base ====== +
- +
-<note warning>​Le logiciel a beaucoup évolué depuis la rédaction de cette doc. Ne vous étonnez pas d'y trouver de nombreuses erreurs</​note>​ +
- +
-L'​ensemble des paramètres passés à G'MIC est interprété comme une séquence de commandes à exécuter. Une commande commence généralement par le caractère '''​-'''​ suivi du nom de la commande, puis un espace, puis éventuellement l'​argument de cette commande. +
- +
-==== Chargement d'une (ou plusieurs) image(s) ==== +
- +
-Par exemple, ​pour charger un fichier image dans G'MIC :  +
- +
-  gmic -input fichier.jpg +
- +
-Cette commande charge (et affiche) l'​image spécifiée en paramètre. A noter que la fenêtre de visualisation permet à l'​utilisateur d'une part d'​explorer précisément les valeurs des pixels de l'​image,​ et d'​autre part de zoomer sur certaines parties, en utilisant la souris ou la combinaison ''​CTRL + molette''​. +
- +
-Certaines commandes telles que ''​-input''​ sont tellement redondantes qu'il en existe des raccourcis, en l'​occurrence ici l'​option ''​-i''​ : +
- +
-  gmic -i fichier .jpg +
- +
-La commande ​''​-input''​ est même tellement utile, que G'MIC l'​utilise par défaut lorsque l'​élément lu en ligne de commande ne correspond à aucune commande interne reconnue. On peut donc écrire aussi : +
- +
-  gmic fichier.jpg +
- +
-Une des particularités de G'MIC est qu'il sait charger plusieurs ​images ​en mémoire : +
- +
-  gmic -i fichier1.jpg -i fichier2.jpg -i fichier3.jpg +
- +
-ou encore +
- +
-  gmic fichier1.jpg fichier2.jpg fichier3.jpg +
- +
-Ainsices commandes vous afficheront trois images dans la même fenêtre de visualisation (qui est toujours unique celle-ci). +
- +
-<​note>​ +
-G'MIC "​reconnaît"​ un format de fichier d'​image par son extension. Il est donc nécessaire que vos fichiers images aient l'​extension qui corresponde bien à leur format. +
-</​note>​ +
- +
-On voit que de cette façon, G'MIC va être capable de charger des séquences entières d'​images. Effectivement,​ si on lui spécifie ​une vidéo en fichier d'​entrée,​ G'MIC va charger les différentes images composant la séquence comme une liste d'​images : +
- +
-  gmic video.mpg +
- +
-<note important>​ +
-G'MIC stocke en mémoire vive toutes les images chargées. Pour une vidéo, il est donc important ​de vérifier que l'​ensemble des images ​la composant va tenir en mémoire avant de la charger ! +
-</​note>​ +
- +
-A noter que G'MIC est capable également de charger un sous-ensemble d'​images d'une vidéo. Par exemplela commande suivante va charger ​les images No 10 à No 99, avec un pas de 5 entre chaque image : +
- +
-  gmic video.mpg,​10,​99,​5 +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Sauvegarde d'une (ou plusieurs) image(s) ==== +
- +
-De la même façon, G'MIC peut sauvegarder les images préalablement chargée dans sa liste interne, en utilisant l'​option ''​-output''​ qui peut être raccourcie en ''​-o''​. +
-Si un format de fichier de sortie ne peut contenir l'​ensemble des images (par exemple si on essaye de sauvegarder une liste de plusieurs images en un fichier ''​.bmp''​),​ alors la sauvegarde se fait en plusieurs fichiers numérotés. +
- +
-G'MIC peut donc convertir un image d'un format en un autre de la façon suivante : +
- +
-  gmic input.jpg -o output.png +
- +
-ou bien séparer les images d'une séquence vidéo ​en plusieurs fichiers images numérotés distincts : +
- +
-  gmic input.mpg -o frames.png +
- +
-ou encore assembler des images de même taille pour en faire une vidéo : +
- +
-  gmic frames*.png -o output.avi +
- +
-Les commandes G'MIC étant lues et interprétée dans l'​ordre d'​apparition sur la ligne de commande, on peut aussi écrire : +
- +
-  gmic image.jpg -o image.bmp -o image.png -o image.tiff +
- +
-par exemple pour convertir une image au format ​//jpg// en ses fichiers équivalents aux formats //bmp//, //png// et //tiff//. +
- +
-G'MIC est basé en partie sur la bibliothèque [[http://​www.imagemagick.org/​Magick%2B%2B/​|Magick++]] et reconnait donc la plupart des types de fichiers images courant. Mais il peut aussi charger et sauver des fichiers plus exotiques comme des images volumiques (imagerie médicale). Un point qui peut être très pratique également est la lecture/​écriture de fichiers ASCII simples contenant les valeurs des pixels.  +
- +
-On peut par exemple écrire les valeurs des pixels d'une image sur la sortie standard par : +
- +
-  gmic image.jpg -o -dlm +
- +
-ou même générer automatiquement du code C/C++ définissant un tableau de valeurs correspondant aux pixels d'une image : +
- +
-  gmic image.jpg -o table_pixels.h +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Autres commandes utiles ==== +
- +
-Les commandes ''​-input''​ et ''​-output''​ ne sont que deux exemples d'un ensemble de commandes de traitement de base comprises par G'MIC, comprenant également des opérateurs de filtrage, de conversion d'​espace couleurs, de déformations géométriques,​ etc. +
-Nous en listons ici quelques exemples les plus intéressants pour une utilisation de base : +
- +
-  * **Redimensionnement d'​image :** L'​option ''​-resize''​ (raccourcie en ''​-r''​) peut servir à redimensionner les images. Elle prend un argument qui donne la nouvelle taille de l'​image sous la forme ''​Largeur,​Hauteur,​Profondeur,​Nombre_de_canaux,​Type_d_interpolation''​. Les caractères ''​%''​ sont autorisés. Par exemple, la commande :  +
- +
-  gmic *.jpg -r 50%,​50%,​1,​3,​5 -o resized.jpg +
- +
-va prendre tous les fichiers ''​.jpg''​ d'un répertoire,​ va les réduire en taille de moitié (avec une interpolation '''​5'''​ qui correspond à une interpolation //​bicubique//​),​ et va les sauver sous forme de fichiers numérotés ''​resized_xxxx.jpg''​. +
- +
-  * **Débruitage d'​image et rehaussement de contours :** G'MIC possède les options ''​-smooth'',''​-denoise''​ et ''​-sharpen''​ dédiées à la restauration d'​image,​ repris de l'​outil open-source ​[[http://​cimg.sourceforge.net/​greycstoration|GREYCstoration]]. Ces commandes utilisent des processus relativement complexes de lissage d'​image qui sont capables d'​enlever le bruit en préservant les contours. Par exemple en utilisant la commande suivante : +
- +
-  gmic sample.jpg -sharpen 300 -smooth 50 +
- +
-On obtient le résultat de droite à partir de l'​image de gauche (//image reprise du site officiel//​) +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample9.jpg }} +
- +
-===== Utilisation avancée ===== +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Agir sur des sous-images ==== +
- +
-Comme on l'a vu, G'MIC considère en interne une liste d'​image en mémoire. Ce qui est intéressant,​ c'est que chaque commande de G'MIC peut en fait s'​appliquer à l'une ou l'​autre des sous-images de la liste, en ajoutant tout simplement ''​[]''​ au nom de la commande appelée, et en mettant entre les crochets les indices des images de la liste que l'on veut traiter (la première image ayant le numéro ''​0''​).Le fait de ne pas rajouter cet indicateur est équivalent à l'​application de la commande à l'​ensemble des images de la liste. +
-Quelques exemples valent mieux qu'un long discours : +
- +
-  *Sauvegarde uniquement de la 10ème image d'une vidéo : +
- +
-  gmic input.mpg -o[9frame10.png +
- +
-  *Débruitage des frames No 0,​5,​10,​15,​20,​25,​30,​35 d'une vidéo : +
- +
-  gmic input.mpg ​-denoise[0,​5,​10,​15,​20,​25,​30,​3510 -o output.mpg +
- +
-Ce qui peut être écrit de manière plus courte : +
- +
-  gmic input.mpg -denoise[0-35:5] 10 -o output.mpg +
- +
-Ce qu'on peut mettre entre ''​[]''​ peut être relativement compliqué. Les ''​%''​ sont par exemple admis, et la commande suivante : +
- +
-  gmic input.mpg -o[0-10,​20-50%,​75%-100%:​5] output.mpg +
- +
-va sauver le fichier vidéo ''​output.mpg''​ composé de l'​ensemble : +
- +
-  * des images 0 à 10 de la vidéo d'​entrée. +
-  * des images 20 -> moitié de la vidéo d'​entrée +
-  * du dernier quart de la vidéo d'​entrée,​ avec une image sur 5. +
- +
-A noter également que les nombres négatifs sont autorisés pour désigner des numéros d'​images de la liste : le nombre ''​-1''​ correspondant à la dernière image''​-2''​ à l'​avant dernière, etc... +
- +
-Ainsi, si l'on veut traiter toutes les images d'une liste sauf les trois premières et les trois dernières, on pourra écrire (par exemple ici, pour une rotation) : +
- +
-  gmic video.mpg -rotate[3--430 -o result.mpg +
- +
-(A noter que les deux ''​-''​ dans l'​expression ''​[3--4]''​ n'ont pas le même sens ici). +
-Inversementsi on veut uniquement traiter les trois premières et les trois dernières ​images ​de la liste : +
- +
-  gmic video.mpg -rotate[0-2,​-3--1] 30 -o result.mpg +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Créer des enchaînements de commandes complexes et des macro-commandes ==== +
-<note important>​la plupart des macros données ci-dessous ne sont pas à jour, +
-vous trouverez des exemples plus pertinents dans la [[http://​gmic.sourceforge.net/​gallery.shtml|galerie officielle]]. (cliquez sur les images pour connaître la commande) </​note>​ +
- +
-Cette capacité de G'MIC à agir de manière très précise sur une ou plusieurs images de sa liste est capitale : elle permet d'​enchaîner des commandes simples de manière assez flexible pour créer des effets complexes au final. +
-Par exemple, la commande suivante : +
- +
-  gmic -i sample.jpg -i [0]x3 -rotate[-1] 90 -rotate[-2] 180 -rotate[-3] 270 -r [0] -* -equalize -normalize 0,255 +
- +
-va charger une image, ​en faire trois copies grâce à l'​opérateur ''​-i''​ qui est aussi capable ​de cloner des images de la liste (donc avoir finalement un total de 4 images identiques),​ va tourner les trois dernières respectivement de 90 deg., 180 deg. et 270 deg., puis va les redimensionner toutes avec la même taille (celle de la première image), pour finalement les multiplier entre elles, égaliser l'​histogramme de l'​image résultante et normaliser les valeurs de ses pixels entre 0 et 255. +
- +
-Voila le résultat sur l'​image de tout à l'​heure : +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample2.jpg }} +
- +
-Ce traitement est relativement complexe et s'​interprète en lisant la commande de gauche à droite. Ainsi, même si le nombre de commandes "de base" de G'MIC peut sembler limité à première vue, l'​association qu'il est possible d'en faire peut définir en réalité un nombre d'​effets potentiellement illimité ! +
- +
-Les développeurs de G'MIC l'ont bien compris et ont intégré un système de //​macro-commandes//​ destiné à exploiter cette particularité : Plutôt que d'​obliger un utilisateur définissant ses propres effets à créer à chaque fois un fichier de script particulier dédié à cette tâche, G'MIC donne la possibilité de définir des //​macro-commandes//​ : une macro est simplement un nom de commande //défini par l'​utilisateur//​ dont l'​invocation sur la ligne de commande va être substituée par toute une suite de commande, également définie par l'​utilisateur. +
- +
-En reprenant l'​exemple précédent,​ nous allons créer un fichier ''​mes_macros.txt''​ contenant les lignes : +
- +
-<​file>​ +
-+
-# Mon premier fichier de macro G'MIC ! +
-+
- +
-zarbi : -i [0]x3 -rotate[-1] 90 -rotate[-2] 180 -rotate[-3] 270 -r [0] -* -equalize -normalize 0,255 +
-</​file>​ +
- +
-La création et la sauvegarde ​de l'​image ​précédente pourra alors se faire par l'​invocation ​de G'MIC de la façon suivante : +
- +
-  gmic -m mes_macros.txt sample.jpg -zarbi -o output.png +
- +
-Le tour est joué ! Il est évidemment possible de définir plusieurs macros à l'​intérieur de ce même fichier, et les traitements personnalisés que l'on définit peuvent ainsi être regroupés au sein d'une même entitée. +
- +
-G'MIC définit par défaut une soixantaine de macro-commandes aux buts divers et variés : filtrage, effets artistiques,​ désentrelacement,​ estimation de mouvement, etc... Ces macros ​n'ont pas besoin d'​être explicitement chargées avec l'​option ''​-m''​ car elles sont intégrées par défaut. La liste et le code correspondant de ces macros par défaut est disponible dans le fichier [[http://​cimg.cvs.sourceforge.net/​*checkout*/​cimg/​CImg/​examples/​gmic_def.raw|gmic_def.raw]]. +
- +
-Voici quelques exemples d'​utilisation des macros par défaut. Il est intéressant de voir le déroulement de l'​ensemble des sous-commandes appelées lorsque l'on lance G'MIC en invoquant ​une macro-commande //(images reprises du site officiel)// : +
- +
-  * **Effet dessin au crayon :** +
- +
-  gmic sample.jpg -pencilbw +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample16.jpg }}  +
- +
-  * **Effet vieille photo :** +
- +
-  gmic sample.jpg -noise 2 -damppatch -sepia +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample19.jpg }} +
- +
-  * **Effets reflexion + lissage radial :** : +
- +
-  gmic sample.jpg -radialblur -waterreflection +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample20.jpg }} +
- +
-  * Effet 'Andy Warhol'​ : +
- +
-  gmic sample.jpg -r 200%x200%x1x3x5 -warhol3x3 +
- +
-{{ http://​gmic.sourceforge.net/​img/​sample18.jpg }} +
- +
-On voit que l'​enchaînement de macros est tout à fait possible, et même l'​appel de macros par d'​autres macros. Ce système de commande personnalisé est tout à fait pratique et permet à chacun de se constituer très facilement un fichier d'​effets personnalisés de traitement d'​image.+
  
 +On peut aussi désigner les images en utilisant des nombres négatifs. -1 désignant la dernière, -2 l'​avant-dernière etc. La commande ci-dessous produira exactement la même chose que la précédente:​
 +  gmic image0.jpg image1.jpg image2.jpg -rotate[-3] 35 -sharpen[-2] 300 -luminance[-2,​-1] -output dd.png
  
 +Pour aller plus loin, un [[https://​sourceforge.net/​p/​gmic/​wiki/​Initiation%20%C3%A0%20la%20ligne%20de%20commande%20G%27mic/​|tutoriel en français]] existe, mais parcourir [[http://​gmic.sourceforge.net/​reference.shtml|la page de référence]] du langage G'mic et s'​inspirer des [[http://​cimg.cvs.sourceforge.net/​viewvc/​cimg/​CImg/​examples/​gmic_def.gmic|nombreuses macros]] disponibles par défaut est très enrichissant.
  
 ===== Désinstallation ===== ===== Désinstallation =====
- +  
-Pour supprimer cette application,​ il suffit de supprimer ​le paquet ​**gmic** : +Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer ​son paquet]]Selon la méthode choisie, la configuration globale ​de l'​application est conservée ou supprimée. Les journaux du systèmeet les fichiers ​de préférence ​des utilisateurs dans leurs dossiers personnels sont toujours conservés.
- +
-  sudo apt-get remove gmic +
- +
- +
- +
-===== Conclusion ===== +
- +
-G'MIC est un outil de traitement d'​images aux multiples possibilitésIl permet notamment de traiter de manière flexible des images par lotmais il permet surtout ​la création ​de filtres personnalisés de manière simple et efficace par un système ​de macro-commandes. +
-Il possède également des capacités d'​extraction ​et de visualisation de caractéristiques 3D des images //(à compléter)//​. +
- +
- +
- +
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(en)** [[http://​gmic.sourceforge.net|La page officielle de G'​MIC]]. +  * **(en)** [[http://​gmic.eu|La page officielle de G'​MIC]], 
-  * **(en)** [[http://gmic.sourceforge.net/gallery.shtml|La galerie d'​images de G'​MIC]]. +  * **(en)** [[http://www.flickr.com/groups/gmic|La page Flickr du groupe ​G'​MIC]], plein d'​images et de discussions autour du plugin pour Gimp, 
-  * **(fr)** [[http://ubunteros.tuxfamily.org/spip.php?​article197|Entretien avec l'​auteur ​(Linux on the root)]] +  * **(fr)** [[https://sourceforge.net/p/​gmic/​wiki/​Home_fr|Tutoriels en français]],​ 
-  * **(fr)** [[http://linuxerie.midiblogs.com/archive/2009/01/15/​gimp-gmic4gimp-plethore-d-effet-pour-the-gimp.html|une interface graphique de gmic en greffon pour Gimp]] +  * **(en)** [[https://​github.com/​dtschump/​gmic-community/​wiki|le wiki officiel]], 
 +  * **(fr)** [[https://github.com/dtschump/gmic-community/wiki/Home_fr|wiki fr]].
 ---- ----
  
-//​Contributeurs : Ronounours//​+//​Contributeurs : Ronounours, [[:​utilisateurs:​ZondeR]].// 
  • gmic.1272525670.txt.gz
  • Dernière modification: Le 29/04/2010, 09:21
  • par 164.81.30.2