Vous trouverez ci-dessous la liste des options de ligne de commande reconnues par les outils en ligne de commande d'ImageMagick. Si vous souhaitez une description d'une option particulière, cliquez sur le nom de l'option dans la barre de navigation ci-dessus et vous serez directement dirigé vers celle-ci. Sauf indication contraire, chaque option est reconnue par les commandes : magick et mogrify.
-adaptive-blur radius[xsigma]
Floute les pixels de manière adaptative, avec un effet décroissant près des bords.
Un opérateur gaussien du rayon et de l'écart type (sigma) donnés est utilisé. Si sigma n'est pas fourni, sa valeur par défaut est 1.
La valeur de sigma est l'argument important, et détermine la quantité réelle de flou qui sera appliquée.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit être un entier. S'il n'est pas fourni, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
-adaptive-resize geometry
Redimensionne l'image à l'aide d'une triangulation dépendante des données.
Voir Image Geometry pour tous les détails concernant l'argument geometry. L'option -adaptive-resize utilise par défaut une triangulation dépendante des données. Utilisez -filter pour choisir un autre algorithme de rééchantillonnage. Les décalages, s'ils sont présents dans la chaîne de géométrie, sont ignorés, et l'option -gravity n'a aucun effet.
-adaptive-sharpen radius[xsigma]
Accentue les pixels de manière adaptative, avec un effet croissant près des bords.
Un opérateur gaussien du rayon et de l'écart type (sigma) donnés est utilisé. Si sigma n'est pas fourni, sa valeur par défaut est 1.
La valeur de sigma est l'argument important, et détermine la quantité réelle de flou qui sera appliquée.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit être un entier. S'il n'est pas fourni, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
-adjoin
Réunit les images dans un seul fichier multi-images.
Cette option est activée par défaut. ImageMagick tente d'enregistrer toutes les images d'une séquence d'images dans le fichier de sortie donné. Cependant, certains formats, tels que JPEG et PNG, ne prennent pas en charge plus d'une image par fichier, et dans ce cas ImageMagick est contraint d'écrire chaque image dans un fichier distinct. Ainsi, si plus d'une image doit être écrite, le nom de fichier donné est modifié en ajoutant un numéro -scene avant le suffixe, afin de créer des noms distincts pour chaque image.
Utilisez +adjoin pour forcer chaque image à être écrite dans des fichiers distincts, que le format de fichier autorise ou non plusieurs images par fichier (par exemple, GIF, MIFF et TIFF).
Inclure une chaîne de format d'entier de style C dans le nom du fichier de sortie activera automagiquement +adjoin et sert à spécifier où le numéro -scene est placé dans les noms de fichiers. Ces chaînes, telles que '%d' ou '%03d', sont familières à ceux qui ont utilisé la fonction standard printf()' de la bibliothèque C. À titre d'exemple, la commande
magick logo: rose: -morph 15 my%02dmorph.jpg
créera une séquence de 17 images (les deux fournies plus 15 autres créées par -morph), nommées : my00morph.jpg, my01morph.jpg, my02morph.jpg, ..., my16morph.jpg.
En résumé, ImageMagick tente d'écrire toutes les images dans un seul fichier, mais les enregistrera dans plusieurs fichiers si l'une des conditions suivantes est remplie...
- le format de fichier de l'image de sortie n'autorise pas les fichiers multi-images,
- l'option +adjoin est fournie, ou
- une chaîne de format d'entier printf() (par exemple : "%d") est présente dans le nom du fichier de sortie.
-affine sx,rx,ry,sy[,tx,ty]
Définit la matrice de transformation de dessin pour combiner rotation et mise à l'échelle.
Cette option définit une matrice de transformation, utilisée par les options -draw ou -transform suivantes.
Les entrées de la matrice sont saisies sous forme de valeurs numériques séparées par des virgules, soit entre guillemets, soit sans espaces.
En interne, la matrice de transformation comporte 3x3 éléments, mais trois d'entre eux sont omis de l'entrée car ils sont constants. Les nouvelles coordonnées (transformées) (x', y') d'un pixel à la position (x, y) dans l'image d'origine sont calculées à l'aide de l'équation matricielle suivante.

La taille de l'image résultante est celle du plus petit rectangle contenant l'image source transformée. Les paramètres tx et ty décalent ensuite les pixels de l'image de sorte que ceux qui sont déplacés hors de la zone de l'image sont coupés.
La matrice de transformation est conforme au système de coordonnées de pixels gaucher : les directions positives x et y sont respectivement vers la droite et vers le bas ; la rotation positive est dans le sens des aiguilles d'une montre.
Si les coefficients de translation tx et ty sont omis, leur valeur par défaut est 0,0. Par conséquent, quatre paramètres suffisent pour la rotation et la mise à l'échelle sans translation.
La mise à l'échelle par les facteurs sx et sy dans les directions x et y, respectivement, s'effectue de la manière suivante.
Voir -transform, et la méthode 'Affineprojection de -distort pour plus d'informations
-affine sx,0,0,sy
La translation par un déplacement (tx, ty) s'effectue comme suit :
-affine 1,0,0,1,tx,ty
La rotation dans le sens des aiguilles d'une montre autour de l'origine (le coin supérieur gauche) d'un angle a s'effectue en posant c = cos(a), s = sin(a), et en utilisant la formule suivante.
-affine c,s,-s,c
L'effet cumulatif d'une séquence de transformations -affine peut être obtenu à la place par une seule opération -affine utilisant la matrice égale au produit des matrices des transformations individuelles.
Une tentative est faite pour détecter les matrices de transformation quasi singulières. Si le déterminant de la matrice a une valeur absolue suffisamment petite, elle est rejetée.
-alpha type
Donne le contrôle du canal alpha/matte d'une image.
Utilisé pour positionner un indicateur sur une image précisant s'il faut ou non utiliser les données existantes du canal alpha, créer un canal alpha, ou effectuer d'autres opérations sur le canal alpha. Choisissez l'argument type dans la liste ci-dessous.
- activate
- Active le canal de transparence de l'image. Notez que normalement Set devrait être utilisé à la place, sauf si vous avez spécifiquement besoin de préserver un canal de transparence existant (mais spécifiquement désactivé).
- associate
- associe le canal alpha à l'image.
- background
- Définit tout pixel entièrement transparent à la couleur d'arrière-plan, tout en le laissant entièrement transparent. Cela peut rendre certains formats de fichiers image, tels que PNG, plus petits, car les valeurs RVB des pixels transparents sont plus uniformes et peuvent donc mieux se compresser.
- copy
- Active le canal alpha/matte, puis copie l'intensité en niveaux de gris de l'image dans le canal alpha, convertissant un masque en niveaux de gris en un masque de forme transparent prêt à être coloré de manière appropriée. Les canaux de couleur ne sont pas modifiés.
- deactivate
- Désactive le canal de transparence de l'image. Ne supprime ni ne modifie les données existantes, désactive simplement l'utilisation de ces données.
- disassociate
- dissocie le canal alpha de l'image.
- extract
- Copie les valeurs du canal alpha dans tous les canaux de couleur et désactive la transparence de l'image, afin de générer un masque en niveaux de gris de la forme de l'image. Les données du canal alpha restent intactes, simplement désactivées. C'est l'inverse de 'Copy'.
- off
- désactive le canal alpha.
- off-if-opaque
- désactive le canal alpha si et seulement s'il est entièrement opaque.
- on
- active le canal alpha.
- opaque
- Active le canal alpha/matte et le force à être entièrement opaque.
- remove
- Compose l'image par-dessus la couleur d'arrière-plan.
- set
- Active le canal alpha/matte. S'il était précédemment désactivé, il réinitialise également le canal à opaque. Si l'image avait déjà le canal alpha activé, cela n'aura aucun effet.
- shape
- Comme pour 'Copy', mais colore aussi le masque de forme résultant avec la couleur d'arrière-plan actuelle. C'est-à-dire que les canaux de couleur RVB sont remplacés, avec la forme alpha appropriée.
- transparent
- Active le canal alpha/matte et le force à être entièrement transparent. Cela crée effectivement une image entièrement transparente de la même taille que l'originale et avec toutes ses données RVB d'origine encore intactes, mais entièrement transparente.
Notez que tandis que l'opération obsolète +matte était identique à "-alpha Off", l'opération >-matte était identique à "-alpha Set" et non à "-alpha On".
-annotate degrees text
-annotate XdegreesxYdegrees text
-annotate XdegreesxYdegrees{+-}tx{+-}ty text
-annotate {+-}tx{+-}ty text
Annote une image avec du texte
Ceci est une commodité pour annoter une image avec du texte. Pour un contrôle plus précis des annotations de texte, utilisez -draw.
Les valeurs Xdegrees et Ydegrees contrôlent les cisaillements appliqués au texte, tandis que tx et ty sont des décalages qui donnent l'emplacement du texte par rapport à tout réglage -gravity et ont par défaut le coin supérieur gauche de l'image.
L'utilisation de -annotate degrees ou -annotate degreesxdegrees produit une rotation non cisaillée du texte. Le sens de la rotation est positif, ce qui signifie une rotation dans le sens des aiguilles d'une montre si degrees est positif. (Cela est conforme à la convention mathématique habituelle une fois que l'on a réalisé que la direction positive y est conventionnellement considérée comme étant vers le bas pour les images.)
Les nouvelles coordonnées (transformées) (x', y') d'un pixel à la position (x, y) dans l'image sont calculées à l'aide de l'équation matricielle suivante.

Si tx et ty sont omis, leur valeur par défaut est 0. Cela fait que le coin inférieur gauche du texte devient le coin supérieur gauche de l'image, ce qui est probablement indésirable. Ajouter une option -gravity dans ce cas conduit à de bons résultats.
Text est toute séquence de caractères encodée en UTF-8. Si text est de la forme '@mytext.txt', le texte est lu à partir du fichier mytext.txt. Le texte dans un fichier est pris littéralement ; aucun caractère de formatage intégré n'est reconnu.
-antialias
Active/Désactive le rendu des pixels d'anticrénelage lors du dessin des polices et des lignes.
Par défaut, les objets (par exemple le texte, les lignes, les polygones, etc.) sont anticrénelés lors de leur dessin. Utilisez +antialias pour désactiver l'ajout de pixels de bord d'anticrénelage. Cela réduira alors le nombre de couleurs ajoutées à une image aux seules couleurs dessinées directement. C'est-à-dire qu'aucune couleur mélangée n'est ajoutée lors du dessin de tels objets.
-append
Réunit les images actuelles verticalement ou horizontalement.
Cette option crée une seule image plus longue, en réunissant toutes les images actuelles en séquence de haut en bas. Utilisez +append pour empiler les images de gauche à droite.
Si elles n'ont pas la même largeur, les images plus étroites sont complétées avec le réglage de couleur -background actuel, et leur position relative les unes par rapport aux autres peut être contrôlée par le réglage -gravity actuel.
Pour des options plus flexibles, y compris la possibilité d'ajouter de l'espace entre les images, utilisez -smush.
-attenuate value
Diminue (ou intensifie) lors de l'ajout de bruit à une image.
Si elle n'est pas définie, la valeur équivaut à 1.0, soit un ajout de bruit maximal
-authenticate password
Déchiffre un PDF avec un mot de passe.
Utilisez cette option pour fournir un mot de passe permettant de déchiffrer un PDF qui a été chiffré à l'aide de Microsoft Crypto API (MSC API). Le chiffrement à l'aide de la MSC API n'est pas pris en charge.
Pour une autre méthode de chiffrement, voir -encipher et -decipher.
-auto-gamma
Ajuste automagiquement le niveau de gamma de l'image.
Cela calcule les valeurs moyennes d'une image, puis applique un ajustement -gamma calculé de sorte que la couleur moyenne de l'image obtienne une valeur de 50 %.
Cela signifie que toute image 'grise' unie devient grise à 50 %.
Cela fonctionne bien pour les images de la vie réelle ayant peu ou pas de zones sombres et claires extrêmes, mais a tendance à échouer pour les images comportant de grandes quantités de ciel lumineux ou d'ombres sombres. Cela ne fonctionne pas bien non plus pour les diagrammes ou les images de type dessin animé.
Cela utilise le réglage -channel (y compris l'indicateur 'sync' pour la synchronisation des canaux) pour déterminer quelles valeurs de couleur sont utilisées et modifiées. Comme le réglage -channel par défaut est 'RGB,sync', les canaux sont modifiés ensemble par la même valeur de gamma, préservant les couleurs.
-auto-level
Ajuste automagiquement les niveaux de couleur de l'image.
Il s'agit d'un opérateur de normalisation d'image 'parfait'. Il trouve les valeurs de couleur minimale et maximale exactes dans l'image, puis applique un opérateur -level pour étirer les valeurs sur toute la plage de valeurs.
L'opérateur n'est généralement pas utilisé pour les images de la vie réelle, les numérisations d'images ou les images au format JPEG, car un seul pixel 'aberrant' peut définir de mauvaises valeurs min/max pour l'opération -level. En revanche, c'est l'opérateur approprié à utiliser pour l'étirement de couleur des images en dégradé servant à générer des tables de correspondance de couleur (Color lookup tables), des cartes de distorsion ou d'autres images définies 'mathématiquement'.
L'opérateur est très similaire aux opérateurs -normalize, -contrast-stretch et -linear-stretch, mais sans les problèmes de 'regroupement en classes d'histogramme' ou de 'rognage' que ces opérateurs peuvent présenter. C'est-à-dire que -auto-level est la version parfaite ou idéale de ces opérateurs.
Cela utilise le réglage -channel (y compris l'indicateur spécial 'sync' pour la synchronisation des canaux) pour déterminer quelles valeurs de couleur sont utilisées et modifiées. Comme le réglage +channel par défaut est 'RGB,sync', le 'sync' garantit que les canaux de couleur seront modifiés ensemble par la même valeur de gamma, préservant les couleurs et ignorant la transparence.
-auto-orient
Ajuste une image de sorte que son orientation soit adaptée à la visualisation (c'est-à-dire une orientation en haut à gauche).
Cet opérateur lit et réinitialise le réglage 'Orientation' du profil d'image EXIF, puis effectue la rotation appropriée de 90 degrés sur l'image afin de l'orienter pour une visualisation correcte.
Ce réglage du profil EXIF est généralement défini à l'aide d'un capteur de gravité dans l'appareil photo numérique ; cependant, les photos prises directement vers le bas ou vers le haut peuvent ne pas avoir une valeur appropriée. De plus, les images dont l'orientation a été 'corrigée' sans réinitialiser ce réglage peuvent être 'corrigées' à nouveau, donnant un résultat incorrect. Si le profil EXIF a été précédemment supprimé, l'opérateur -auto-orient ne fera rien.
-auto-threshold method
Effectue automatiquement le seuillage de l'image.
Voici les méthodes valides :
- Undefined
- 0 : Aucune méthode spécifiée (équivalent à 'OTSU').
- Kapur
- seuillage par entropie maximale.
- OTSU
- seuillage d'image basé sur le regroupement (cluster).
- Triangle
- une méthode de seuillage géométrique.
Le seuil calculé est renvoyé en tant que propriété d'image auto-threshold:verbose. Pour l'imprimer plutôt sur votre périphérique, utilisez -define auto-threshold:verbose=true.
-average
Calcule la moyenne d'un ensemble d'images.
Une erreur se produit si les images ne sont pas de taille identique.
-backdrop
Affiche l'image centrée sur un arrière-plan.
Cet arrière-plan couvre tout l'écran de la station de travail et est utile pour masquer les autres activités des fenêtres X pendant la visualisation de l'image. La couleur de l'arrière-plan est spécifiée comme la couleur d'arrière-plan. La couleur est spécifiée à l'aide du format décrit sous l'option -fill.
-background color
Définit la couleur d'arrière-plan.
La couleur est spécifiée à l'aide du format décrit sous l'option -fill. La couleur d'arrière-plan par défaut (si aucune n'est spécifiée ou trouvée dans l'image) est le blanc.
-bench iterations
Mesurer les performances.
Répète l'ensemble de la commande pour le nombre d'itérations indiqué et rapporte le temps utilisateur et le temps écoulé. Par exemple, considérez la commande suivante et sa sortie. Modifiez le benchmark avec -duration pour exécuter le benchmark pendant un nombre de secondes fixe et -concurrent pour exécuter le benchmark en parallèle (nécessite la fonctionnalité OpenMP).
$ magick logo: -resize 200% -bench 5 logo.png
Performance[1]: 5i 1.344ips 1.000e 3.710u 0:03.720
Performance[2]: 5i 1.634ips 0.549e 3.890u 0:03.060
Performance[3]: 5i 2.174ips 0.618e 3.190u 0:02.300
Performance[4]: 5i 1.678ips 0.555e 3.810u 0:02.980
Performance[4]: 5i 0.875657ips 6.880u 0:05.710
Dans cet exemple, 5 itérations ont été effectuées à 2,174 itérations par seconde, en utilisant 3 threads et 3,190 secondes du temps utilisateur alloué, pour un temps total écoulé de 2,300 secondes.
-bias value{%}
Ajouter un biais lors de la convolution d'une image.
Cette option décale la sortie de -convolve de sorte que les résultats positifs et négatifs soient relatifs à la valeur de biais spécifiée.
Ceci est important pour les compilations non-HDRI d'ImageMagick lorsqu'on traite des convolutions contenant des valeurs aussi bien négatives que positives. C'est particulièrement le cas avec les convolutions impliquant des filtres passe-haut ou la détection de contours. Sans biais de sortie, les valeurs négatives sont écrêtées à zéro.
Lors de l'utilisation d'un ImageMagick avec le paramètre de compilation HDRI, -bias n'est pas nécessaire, car ImageMagick est capable de stocker/gérer tout résultat négatif sans écrêtage à la plage de valeurs de couleur (0..QuantumRange).
Consultez la discussion sur les implémentations HDRI d'ImageMagick sur la page Images à grande plage dynamique. Pour en savoir plus sur le HDRI, consultez les pages Usage d'ImageMagick ou cet article Wikipedia.
-bilateral-blur width{xheight}{+intensity-sigma}{+spatial-sigma}
Un filtre de lissage non linéaire, préservant les contours et réduisant le bruit pour les images. Il remplace l'intensité de chaque pixel par une moyenne pondérée des valeurs d'intensité des pixels voisins. Cette pondération est basée sur une distribution gaussienne. Les pondérations dépendent non seulement de la distance euclidienne des pixels, mais aussi des différences radiométriques (par exemple, les différences de plage, telles que l'intensité de couleur, la distance de profondeur, etc.). Cela préserve les contours nets.
Le sigma d'intensité se situe dans l'espace d'intensité. Une valeur plus grande signifie que des couleurs plus éloignées au sein du voisinage du pixel (voir spatial-sigma) seront mélangées, donnant des zones plus grandes de couleur quasi égale.
Le sigma spatial se situe dans l'espace de coordonnées. Une valeur plus grande signifie que des pixels plus éloignés s'influencent mutuellement tant que leurs couleurs sont suffisamment proches (voir intensity-sigma). Lorsque le diamètre du voisinage est supérieur à zéro, il spécifie la taille du voisinage indépendamment de spatial-sigma. Sinon, le diamètre du voisinage est proportionnel à spatial-sigma.
Les valeurs par défaut pour les sigmas d'intensité et spatial sont respectivement 0,75diamètre et 0,25diamètre.
-black-point-compensation
Utiliser la compensation du point noir.
-black-threshold value{%}
Forcer au noir tous les pixels en dessous du seuil tout en laissant inchangés tous les pixels au niveau ou au-dessus du seuil.
La valeur du seuil peut être donnée sous forme de pourcentage ou de valeur entière absolue comprise dans [0, QuantumRange] correspondant à la valeur de canal souhaitée. Voir -threshold pour plus de détails sur les seuils et les valeurs résultantes.
-blend geometry
Fusionner une image dans une autre selon la valeur absolue ou le pourcentage indiqué.
Blend fera la moyenne des images ensemble (« plus ») selon les pourcentages donnés et la transparence de chaque pixel. Si une seule valeur de pourcentage est donnée, elle définit le poids de l'image composite ou « source », tandis que l'image d'arrière-plan est pondérée par la quantité exactement opposée. Ainsi, un -blend 30% fusionne 30 % de l'image « source » avec 70 % de l'image « destination ». Cela équivaut donc à -blend 30x70%.
-blue-primary x,y
Définir le point primaire de chromaticité bleue.
-blue-shift factor
Simuler une scène nocturne au clair de lune. Commencez avec un facteur de 1,5
-blur radius
-blur radius{xsigma}
Réduire le bruit de l'image et réduire les niveaux de détail.
Convolue l'image avec une distribution gaussienne ou normale en utilisant la valeur Sigma donnée. La formule est :

La valeur sigma est l'argument important, et détermine la quantité réelle de flou qui aura lieu.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit s'agir d'un entier. S'il n'est pas donné, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
Plus le rayon est grand, plus l'opération est lente. Cependant, un rayon trop petit peut entraîner de graves effets de crénelage. À titre indicatif, le rayon doit être au moins le double de la valeur Sigma, bien que le triple produise un résultat plus précis.
Cette option diffère de -gaussian-blur simplement en tirant parti des propriétés de séparabilité de la distribution. Ici, nous appliquons une matrice gaussienne unidimensionnelle dans la direction horizontale, puis répétons le processus dans la direction verticale.
Le paramètre -virtual-pixel déterminera comment les pixels situés en dehors de l'image proprement dite sont fondus dans le résultat final.
-border geometry
Entourer l'image d'une bordure de couleur.
Définissez la largeur et la hauteur à l'aide de la partie taille de l'argument de géométrie. Voir Géométrie de l'image pour tous les détails concernant l'argument geometry. Les décalages sont ignorés.
Depuis IM 6.7.8-8, les arguments de géométrie se comportent comme suit :
- value
- value est ajouté à la fois à gauche/droite et en haut/bas
- value-xx
- value-x est ajouté seulement à gauche/droite et le haut/bas reste inchangé
- xvalue-y
- value-y est ajouté seulement en haut/bas et gauche/droite reste inchangé
- value-xxvalue-y
- value-x est ajouté à gauche/droite et value-y ajouté en haut/bas
- value-xx0
- value-x est ajouté seulement à gauche/droite et le haut/bas reste inchangé
- 0xvalue-y
- value-y est ajouté seulement en haut/bas et gauche/droite reste inchangé
- value%
- value % de la largeur est ajouté à gauche/droite et value % de la hauteur est ajouté en haut/bas
- value-xx%
- value-x % de la largeur est ajouté à gauche/droite et en haut/bas
- xvalue-y%
- value-y % de la hauteur est ajouté en haut/bas et à gauche/droite
- value-x%xvalue-y%
- value-x % de la largeur est ajouté à gauche/droite et value-y % de la hauteur est ajouté en haut/bas
- value-x%x0%
- value-x % de la largeur est ajouté à gauche/droite et le haut/bas reste inchangé
- 0%xvalue-y%
- value-y % de la hauteur est ajouté en haut/bas et gauche/droite reste inchangé
Définissez la couleur de la bordure en la faisant précéder du paramètre -bordercolor.
L'opération -border est affectée par le paramètre -compose actuel et suppose que celui-ci utilise la méthode de composition « Over » par défaut. Elle génère une image de la taille appropriée colorée par le -bordercolor actuel avant de superposer l'image originale au centre de cette image résultante. Cela signifie qu'avec la méthode de composition par défaut « Over », toute partie transparente peut être remplacée par le paramètre -bordercolor actuel.
Voir aussi l'option -frame, qui offre davantage de fonctionnalités.
-bordercolor color
Définir la couleur de la bordure.
La couleur est spécifiée en utilisant le format décrit sous l'option -fill.
La couleur de bordure par défaut est #DFDFDF, cette nuance de gris.
-borderwidth geometry
Définir la largeur de la bordure.
-brightness-contrast brightness
-brightness-contrast brightness{xcontrast}{%}
Ajuster la luminosité et/ou le contraste de l'image.
Les valeurs de luminosité et de contraste appliquent des modifications à l'image d'entrée. Ce ne sont pas des réglages absolus. Une valeur de luminosité ou de contraste de zéro signifie aucun changement. La plage de valeurs est de -100 à +100 pour chacune. Les valeurs positives augmentent la luminosité ou le contraste et les valeurs négatives diminuent la luminosité ou le contraste. Pour ne contrôler que le contraste, fixez brightness=0. Pour ne contrôler que la luminosité, fixez contrast=0 ou laissez-le simplement de côté.
Vous pouvez également utiliser -channel pour contrôler à quels canaux appliquer le changement de luminosité et/ou de contraste. Par défaut, la même transformation est appliquée à tous les canaux.
Les arguments de luminosité et de contraste sont convertis en décalage et pente d'une transformation linéaire et appliqués en utilisant -function polynomial "slope,offset".
La pente varie de 0 à contrast=-100 à presque verticale à contrast=+100. Pour brightness=0 et contrast=-100, le résultat est totalement gris moyen. Pour brightness=0 et contrast=+100, le résultat approchera mais n'atteindra pas tout à fait un seuil au gris moyen ; c'est-à-dire que la transformation linéaire est une ligne verticale très raide au gris moyen.
Les pentes négatives, c'est-à-dire la négation de l'image, ne sont pas possibles avec cette fonction. Toutes les pentes réalisables sont nulles ou positives.
Le décalage varie de -0,5 à brightness=-100 à 0 à brightness=0 à +0,5 à brightness=+100. Ainsi, lorsque contrast=0 et brightness=100, le résultat est totalement blanc. De même, lorsque contrast=0 et brightness=-100, le résultat est totalement noir.
Comme la plage de valeurs des arguments est de -100 à +100, ajouter le symbole « % » ne change rien par rapport au fait de le laisser de côté.
-cache threshold
(Cette option a été remplacée par l'option -limit).
-canny radius
-canny radius{xsigma}{+lower-percent}{+upper-percent}
Le détecteur de contours Canny utilise un algorithme à plusieurs étapes pour détecter une large gamme de contours dans l'image.
Les seuils vont de 0 à 100 % (par exemple -canny 0x1+10%+30%) avec {+lower-percent} < {+upper-percent}. Si {+upper-percent} est augmenté mais que {+lower-percent} reste le même, moins de composants de contour seront détectés, mais leurs longueurs seront identiques. Si {+lower-percent} est augmenté mais que {+upper-percent} reste le même, le même nombre de composants de contour sera détecté mais leurs longueurs seront plus courtes. Les seuils par défaut sont indiqués.
Le radius{xsigma} contrôle un flou gaussien appliqué à l'image d'entrée pour réduire le bruit et lisser les contours.
La valeur sigma est l'argument important, et détermine la quantité réelle de flou qui aura lieu.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit s'agir d'un entier. S'il n'est pas donné, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
-caption string
Attribuer une légende à une image.
Cette option définit les métadonnées de légende d'une image lue après que cette option a été donnée. Pour modifier la légende d'images déjà en mémoire, utilisez « -set caption ».
La légende peut contenir des caractères de format spéciaux répertoriés dans Format et impression des propriétés d'image. Ces attributs sont développés lorsque la légende est finalement attribuée aux images individuelles.
Si le premier caractère de string est @, la légende de l'image est lue à partir d'un fichier dont le titre est constitué des caractères restants de la chaîne. Les commentaires lus à partir d'un fichier sont littéraux ; aucun caractère de formatage intégré n'est reconnu.
Les métadonnées de légende ne sont pas visibles sur l'image elle-même. Pour cela, utilisez plutôt les options -annotate ou -draw.
Par exemple,
-caption "%m:%f %wx%h" bird.miff
produit une légende d'image de MIFF:bird.miff 512x480 (en supposant que l'image bird.miff a une largeur de 512 et une hauteur de 480).
-cdl filename
Correction colorimétrique avec une liste de décisions de couleur (color decision list).
Voici un exemple de collection de corrections colorimétriques :
<?xml version="1.0" encoding="UTF-8"?>
<ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
<ColorCorrection id="cc06668">
<SOPNode>
<Slope> 0.9 1.2 0.5 </Slope>
<Offset> 0.4 -0.5 0.6 </Offset>
<Power> 1.0 0.8 1.5 </Power>
</SOPNode>
<SATNode>
<Saturation> 0.85 </Saturation>
</SATNode>
</ColorCorrection>
</ColorCorrectionCollection>
-channel type
Spécifie les canaux de couleur de l'image auxquels les opérateurs suivants sont limités.
Choisissez parmi : Red, Green, Blue, Alpha, Gray, Cyan, Magenta, Yellow, Black, Opacity, Index, RGB, RGBA, CMYK, ou CMYKA.
Les canaux ci-dessus peuvent aussi être spécifiés sous forme de liste séparée par des virgules ou peuvent être abrégés sous forme d'une concaténation des lettres « R », « G », « B », « A », « O », « C », « M », « Y », « K ».
Les chiffres de 0 à 31 peuvent également être utilisés pour spécifier les canaux, où 0 à 5 correspondent à :
« 0 » équivaut à Red ou Cyan
« 1 » équivaut à Green ou Magenta
« 2 » équivaut à Blue ou Yellow
« 3 » équivaut à Black
« 4 » équivaut à Alpha ou Opacity
« 5 » équivaut à Index
Par exemple, pour ne sélectionner que les canaux Red et Blue, vous pouvez utiliser l'une des formes suivantes :
-channel Red,Blue
-channel R,B
-channel RB
-channel 0,2
Tous les canaux présents dans une image peuvent être spécifiés à l'aide du type de canal spécial All. Tous les opérateurs ne sont pas « compatibles avec les canaux », mais en général tout opérateur qui agit généralement sur des images en niveaux de gris comprendra ce réglage. Consultez la documentation de chaque opérateur.
En plus de la sélection normale des canaux, un indicateur supplémentaire peut être spécifié : « Sync ». Il est activé par défaut, et s'il est défini, cela signifie que les opérateurs qui comprennent cet indicateur doivent effectuer une synchronisation inter-canaux des canaux. S'il n'est pas spécifié, la plupart des opérateurs en niveaux de gris appliqueront leurs opérations de traitement d'image à chaque canal individuel (tel que spécifié par le reste du réglage -channel) de manière totalement indépendante les uns des autres.
Par exemple, pour des opérateurs tels que -auto-level et -auto-gamma, les canaux de couleur sont modifiés ensemble exactement de la même façon afin que les couleurs restent synchronisées. Sans qu'il soit défini, chaque canal est alors modifié séparément et indépendamment, ce qui peut produire une distorsion des couleurs.
La méthode « Convolve » de -morphology et les méthodes mathématiques de -compose comprennent également l'indicateur « Sync » pour modifier le comportement des couleurs des pixels en fonction du canal alpha (s'il est présent). Autrement dit, cela modifiera le traitement d'image en tenant compte du fait que les couleurs totalement transparentes ne doivent pas contribuer au résultat final.
En somme, par défaut, les opérateurs travaillent sur les canaux de couleur de manière synchrone et traitent la transparence comme un cas particulier, sauf si le réglage -channel est modifié de façon à supprimer l'effet de l'indicateur « Sync ». La manière dont chaque opérateur procède dépend de l'implémentation actuelle de cet opérateur. Tous les opérateurs ne comprennent pas cet indicateur pour le moment, mais cela évolue.
Pour imprimer une liste complète des types de canaux, utilisez -list channel.
Par défaut, ImageMagick règle -channel sur la valeur « RGBK,sync », ce qui spécifie que les opérateurs agissent sur tous les canaux de couleur sauf le canal de transparence, et que tous les canaux de couleur doivent être modifiés exactement de la même façon, en tenant compte de la transparence (selon l'opération appliquée). La forme « plus » +channel réinitialisera la valeur à cette valeur par défaut.
Les options affectées par le réglage -channel incluent les suivantes. -auto-gamma, -auto-level, -black-threshold, -blur, -clamp, -clut, -combine, -composite (méthodes de composition mathématiques uniquement), -convolve, -contrast-stretch, -evaluate, -function, -fx, -gaussian-blur, -hald-clut, -motion-blur, -morphology, -negate, -normalize, -ordered-dither, -rotational-blur, -random-threshold, -range-threshold, -separate, -threshold, et -white-threshold.
Attention, certains opérateurs se comportent différemment lorsque le réglage par défaut +channel est en vigueur, par rapport à TOUT réglage -channel défini par l'utilisateur (y compris l'équivalent du réglage par défaut). Ces opérateurs n'ont pas encore été adaptés pour comprendre le nouvel indicateur « Sync ».
Par exemple, -threshold convertira par défaut l'image en niveaux de gris avant le seuillage, si aucun réglage -channel n'a été défini. Cela n'est pas encore contrôlé par l'indicateur « Sync ».
De plus, certains opérateurs tels que -blur et -gaussian-blur modifieront leur traitement des canaux de couleur si le canal « alpha » est également activé par -channel. En général, cela est fait pour garantir que les couleurs totalement transparentes soient traitées comme totalement transparentes, et qu'ainsi toute couleur « cachée » sous-jacente n'ait aucun effet sur le résultat final. Cela produit généralement des effets de « halo ». Les équivalents de convolution plus récents de -morphology comprennent toutefois l'indicateur « Sync » et géreront donc correctement la transparence par défaut.
Comme le canal alpha est facultatif dans les images, certains opérateurs liront les canaux de couleur d'une image comme un masque alpha en niveaux de gris, lorsque l'image ne possède pas de canal alpha et que le réglage -channel indique à l'opérateur d'appliquer l'opération à l'aide des canaux alpha. L'opérateur -clut en est un bon exemple.
-channel-fx expression
Échange, extrait ou copie un ou plusieurs canaux d'image.
L'expression se compose d'un ou plusieurs canaux, soit mnémoniques soit numériques (par exemple red ou 0, green ou 1, etc.), séparés par certains symboles d'opération comme suit :
<=> échange deux canaux (par exemple red<=>blue)
=> copie un canal vers un autre canal (par exemple red=>green)
= affecte une valeur constante à un canal (par exemple red=50%)
, écrit une nouvelle image avec les canaux dans l'ordre spécifié (par exemple red, green)
; ajoute une nouvelle image de sortie pour le prochain ensemble d'opérations de canal (par exemple red; green; blue)
| passe à l'image d'entrée suivante comme source de données de canal (par exemple | gray=>alpha)
Par exemple, pour créer 3 images en niveaux de gris à partir des canaux red, green et blue d'une image, utilisez :
-channel-fx "red; green; blue"
Un canal sans symbole d'opération implique une séparation (c'est-à-dire un point-virgule).
Ici, nous prenons une image sRGB et une image en niveaux de gris et nous injectons l'image en niveaux de gris dans le canal alpha :
magick wizard.png mask.pgm -channel-fx '| gray=>alpha' wizard-alpha.png
Utilisez une commande similaire pour définir un masque de lecture :
magick wizard.png mask.pgm -channel-fx '| gray=>read-mask' wizard-mask.png
Dans cet exemple, nous calculons la valeur RGB moyenne de tous les pixels opaques d'une image :
magick wizard-alpha.png -channel-fx "alpha=>read-mask" -channel rgb -format "%[fx:mean]\n" info:
Créons deux méta-canaux et remplissons-les avec une copie des pixels gris :
magick gray.pgm -channel-fx "gray=>meta, gray=>meta1" gray.tif
Remarquez que nous enregistrons les résultats dans un fichier image TIFF. Tous les formats ne prennent pas en charge les images multispectrales. TIFF, MIFF, MPC et FTXT le font.
Ajoutez -debug pixel avant l'option -channel-fx pour suivre la morphologie des canaux.
-charcoal factor
Simule un dessin au fusain.
-chop geometry
Supprime des pixels de l'intérieur d'une image.
Consultez Image Geometry pour tous les détails concernant l'argument geometry. La largeur et la hauteur indiquées dans la partie taille de l'argument geometry donnent le nombre de colonnes et de lignes à supprimer. La partie décalage de l'argument geometry est influencée par un réglage -gravity, s'il est présent.
L'option -chop supprime des lignes et des colonnes entières, et déplace les blocs d'angle restants vers la gauche et vers le haut pour combler les espaces.
Bien qu'elle puisse supprimer des lignes et des colonnes internes de pixels, elle est plus généralement utilisée avec un réglage -gravity et des décalages nuls afin de supprimer un seul bord d'une image. Comparez ceci à -shave, qui supprime un nombre égal de pixels de chaque côté opposé de l'image.
L'utilisation de -chop annule effectivement les résultats d'un -splice auquel auraient été donnés les mêmes réglages geometry et -gravity.
-clahe widthxheight{%}{+}number-bins{+}clip-limit{!}
Égalisation d'histogramme adaptative à contraste limité.
L'image est divisée en tuiles de width et height pixels. Ajoutez % pour définir la largeur et la hauteur en pourcentages des dimensions de l'image. La taille de la tuile doit être plus grande que la taille des détails à préserver et respecte le rapport d'aspect de l'image. Ajoutez ! pour forcer une largeur et une hauteur de tuile exactes. number-bins est le nombre de bins d'histogramme par tuile (min 2, max 65536). Le nombre de bins d'histogramme doit être inférieur au nombre de pixels dans une seule tuile. clip-limit est la limite de contraste pour les modifications localisées de contraste. Une clip-limit de 2 à 3 est un bon point de départ (par exemple -clahe 50x50%+128+3). Des valeurs très élevées laisseront l'égalisation d'histogramme faire ce qu'elle veut, c'est-à-dire produire un contraste local maximal. La valeur 1 produira l'image d'origine. Notez que si le nombre de bins et la clip-limit sont omis, ils prennent par défaut respectivement 128 et aucun écrêtage.
-clamp
Fixe à zéro chaque pixel dont la valeur est inférieure à zéro et fixe à la plage de quanta tout pixel dont la valeur est supérieure à la plage de quanta (par exemple 65535) ; sinon, la valeur du pixel reste inchangée.
-clip
Applique le chemin de détourage s'il en existe un.
Si un chemin de détourage est présent, il est appliqué aux opérations suivantes.
Par exemple, dans la commande
magick cockatoo.tif -clip -negate negated.tif
seuls les pixels situés à l'intérieur du chemin de détourage sont inversés.
La fonctionnalité -clip nécessite la prise en charge de SVG. Si la bibliothèque déléguée SVG n'est pas présente, l'option est ignorée.
Utilisez +clip pour désactiver le détourage pour les opérations suivantes.
-clip-mask
Détoure l'image telle que définie par ce masque.
Utilise le canal alpha de l'image courante comme masque. Toute zone blanche n'est pas modifiée par les « opérateurs de traitement d'image » qui suivent, jusqu'à ce que le masque soit retiré. Les pixels situés dans les zones noires du masque de détourage sont modifiés selon les exigences de l'opérateur.
À certains égards, ceci est similaire (bien que non identique) à la définition d'une -region rectangulaire, ou à l'utilisation du négatif de l'image de masque (la troisième) dans une opération -composite à trois images.
Utilisez +clip-mask pour désactiver le détourage pour les opérations suivantes.
-clip-path id
Détoure le long d'un chemin nommé issu du profil 8BIM.
Ceci est identique à -clip, sauf que vous choisissez un chemin de détourage spécifique dans le cas où l'image possède plusieurs chemins disponibles. ImageMagick prend en charge l'encodage UTF-8. Si votre chemin nommé utilise un encodage différent, utilisez iconv pour convertir le nom du chemin de détourage vers cet encodage, sinon le nom du chemin ne correspondra pas.
Utilisez +clip-path pour désactiver le détourage pour les opérations suivantes.
-clone index(s)
Crée un clone d'une image (ou d'images).
À l'intérieur de parenthèses (où l'opérateur est normalement utilisé), il crée un clone des images de la dernière séquence d'images « empilée » et les ajoute à la fin de la séquence d'images courante. S'il est utilisé en dehors de parenthèses, une erreur est levée.
Spécifiez l'image par son index dans la séquence. La première image porte l'index 0. Les index négatifs sont relatifs à la fin de la séquence ; par exemple, −1 représente la dernière image de la séquence. Spécifiez une plage d'images avec un tiret (par exemple 0−4). Séparez plusieurs index par des virgules mais sans espaces (par exemple 0,2,5). Une valeur de « 0−−1 » clonera effectivement toutes les images.
Le +clone crée simplement une copie de la dernière image de la séquence d'images, et équivaut donc à utiliser un argument de « −1 ».
-clut
Remplace les valeurs de canal de la première image en utilisant chaque canal correspondant de la deuxième image comme table de correspondance des couleurs (color lookup table).
La deuxième image (LUT) est habituellement une image en dégradé contenant le mappage d'histogramme indiquant comment chaque canal doit être modifié. Il s'agit généralement d'une image d'une seule ligne ou d'une seule colonne de valeurs de couleur de remplacement. Si elle est plus grande qu'une seule ligne ou colonne, les valeurs sont prises le long d'une ligne diagonale allant du coin supérieur gauche au coin inférieur droit.
La correspondance est de plus contrôlée par le réglage -interpolate, particulièrement pratique pour une LUT qui n'a pas la longueur totale requise par le niveau de qualité (Q) de l'installation d'ImageMagick. De bons réglages pour cela sont « bilinear » et « catrom ». Catrom peut renvoyer une continuité de second ordre utile.
Cet opérateur est particulièrement adapté au remplacement d'une image en niveaux de gris par un dégradé de couleur spécifique issu de l'image CLUT.
Seules les valeurs de canal définies par le réglage -channel verront leurs valeurs remplacées. En particulier, comme le réglage -channel par défaut est RGBA, cela signifie que la transparence (canal alpha/matte) est affectée, sauf si le réglage -channel est modifié, par exemple RGB. Lorsque le canal alpha n'est pas défini, il est ignoré par l'opérateur -clut.
Si l'image modifiée ou l'image de correspondance ne contient aucune transparence (c'est-à-dire que -alpha est « off ») mais que le réglage -channel inclut le remplacement de l'alpha, alors on suppose que l'image représente un dégradé en niveaux de gris utilisé pour les valeurs alpha de remplacement. Autrement dit, vous pouvez utiliser une image CLUT en niveaux de gris pour ajuster le canal alpha d'une image existante, ou vous pouvez colorer une image en niveaux de gris en utilisant les couleurs d'une CLUT contenant les couleurs souhaitées, y compris la transparence.
Voir aussi -hald-clut, qui remplace les couleurs selon la correspondance de la valeur RGB en couleur complète à partir d'une représentation 2D d'un cube de couleur 3D.
-coalesce
Définit entièrement l'aspect de chaque trame d'une séquence d'animation GIF, pour former une animation en « bande de film ».
Superpose chaque image d'une séquence d'images selon ses métadonnées -dispose, pour reproduire l'aspect d'une animation à chaque point de la séquence d'animation. Toutes les images doivent avoir la même taille, et se voient attribuer des réglages de disposition GIF appropriés afin que l'animation continue de fonctionner comme prévu en tant qu'animation GIF. De telles trames sont plus faciles à visualiser et à traiter que les images de superposition GIF fortement optimisées.
L'animation peut être réoptimisée après traitement à l'aide de la méthode -layers « optimize », bien qu'il n'y ait aucune garantie que l'optimisation de l'animation GIF restaurée soit meilleure que l'originale.
-colorize value
Colorise l'image d'une quantité spécifiée par value en utilisant la couleur spécifiée par le réglage -fill le plus récent.
Spécifiez la quantité de colorisation sous forme de pourcentage. Des valeurs de colorisation distinctes peuvent être appliquées aux canaux red, green et blue de l'image à l'aide d'une liste de valeurs de colorisation délimitées par des virgules (par exemple, -colorize 0,0,50).
-colormap type
Définit le type de palette de couleurs (colormap).
Le type peut être shared ou private.
Cette option ne s'applique que lorsque le visuel par défaut du serveur X est PseudoColor ou GrayScale. Reportez-vous à -visual pour plus de détails. Par défaut, une palette de couleurs shared est allouée. L'image partage les couleurs avec d'autres clients X. Certaines couleurs de l'image pourraient être approximées, c'est pourquoi votre image peut paraître très différente de ce qui était prévu. Si private est choisi, les couleurs de l'image apparaissent exactement telles qu'elles sont définies. Cependant, d'autres clients peuvent virer au technicolor lorsque la palette de couleurs de l'image est installée.
-colors value
Définit le nombre de couleurs préféré dans l'image.
Le nombre réel de couleurs dans l'image peut être inférieur à votre demande, mais jamais supérieur. Notez qu'il s'agit d'une option de réduction des couleurs. Les images comportant moins de couleurs uniques que la valeur spécifiée par value verront toute couleur dupliquée ou inutilisée supprimée. L'ordre d'une palette de couleurs existante peut être modifié. Lors de la conversion d'une image de couleur en niveaux de gris, il est plus efficace de convertir l'image vers l'espace colorimétrique gray avant de réduire le nombre de couleurs. Reportez-vous à l'algorithme de réduction des couleurs pour plus de détails.
-color-matrix matrix
Applique une correction colorimétrique à l'image.
Cette option permet des changements de saturation, la rotation de teinte, la conversion de la luminance en alpha et divers autres effets. Bien que des matrices de transformation de taille variable puissent être utilisées, on emploie généralement une matrice 5x5 pour une image RGBA et une matrice 6x6 pour CMYKA (ou RGBA avec décalages). La matrice est similaire à celle utilisée par Adobe Flashsauf que les décalages d'Imagemagick se trouvent dans la colonne 6 plutôt que dans la colonne 5 (afin de prendre en charge les images CMYKA) et que les décalages d'Imagemagick sont normalisés (divisez les décalages de Flash par 255).
À titre d'exemple, pour ajouter du contraste à une image avec des décalages, essayez cette commande :
magick kittens.jpg -color-matrix \
" 1.5 0.0 0.0 0.0, 0.0, -0.157 \
0.0 1.5 0.0 0.0, 0.0, -0.157 \
0.0 0.0 1.5 0.0, 0.0, -0.157 \
0.0 0.0 0.0 1.0, 0.0, 0.0 \
0.0 0.0 0.0 0.0, 1.0, 0.0 \
0.0 0.0 0.0 0.0, 0.0, 1.0" kittens.png
-colorspace value
Définit l'espace colorimétrique de l'image.
Les choix sont :
| Adobe98 | CIELab | DisplayP3 | HSL |
|---|---|---|---|
| CAT02LMS | CMY | CMYK | Gray |
| HCL | HCLp | HSB | HSI |
| HSV | HWB | Jzazbz | Lab |
| LCH | LCHab | LCHuv | LinearGray |
| LMS | Log | Luv | OHTA |
| Oklab | Oklch | ProPhoto | Rec601YCbCr |
| Rec709YCbCr | RGB | scRGB | sRGB |
| Transparent | xyY | XYZ | YCbCr |
| YDbDr | YCC | YIQ | YPbPr |
| YUV |
Pour afficher une liste complète des espaces colorimétriques, utilisez -list colorspace.
Pour une conversion colorimétrique plus précise vers ou depuis les espaces colorimétriques RGB linéaire, CMYK ou niveaux de gris, utilisez l'option -profile. Notez qu'ImageMagick suppose l'espace colorimétrique sRGB si le format d'image n'indique pas le contraire. Pour la conversion d'espace colorimétrique, la fonction gamma est d'abord supprimée afin de produire du RGB linéaire.
Conversion de RGB vers d'autres espaces colorimétriques CMY
C=QuantumRange−R
M=QuantumRange−G
Y=QuantumRange−B
CMYK — part du CMY ci-dessus
K=min(C,Y,M)
C=QuantumRange(C−K)/(QuantumRange−K)
M=QuantumRange(M−K)/(QuantumRange−K)
Y=QuantumRange(Y−K)/(QuantumRange−K)
Gray
Gray = 0.212656R+0.715158G+0.072186B
HSB — Teinte, Saturation, Brillance ; comme un cône dont le sommet pointe vers le bas
H=angle autour du périmètre (0 à 360 deg) ; H=0 est le rouge ; les angles croissants vont vers le vert
S=distance depuis l'axe vers l'extérieur
B=distance le long de l'axe du bas vers le haut ; B=max(R,G,B) ; semblable à une intensité
HSL — Teinte, Saturation, Luminosité ; comme un double cône bout à bout avec des sommets tout en haut et tout en bas
H=angle autour du périmètre (0 à 360 deg) ; H=0 est le rouge ; les angles croissants vont vers le vert
S=distance depuis l'axe vers l'extérieur
L=distance le long de l'axe du bas vers le haut ; L=0.5max(R,G,B) + 0.5min(R,G,B) ; semblable à une intensité
HWB — Teinte, Blancheur, Noirceur
Teinte (équation complexe)
Blancheur (équation complexe)
Noirceur (équation complexe)
LAB
L (équation complexe reliant X,Y,Z)
A (équation complexe reliant X,Y,Z)
B (équation complexe reliant X,Y,Z)
LinearGray
LinearGray = 0.298839R+0.586811G+0.114350B
LOG
I1 (équation complexe impliquant le logarithme de R)
I2 (équation complexe impliquant le logarithme de G)
I3 (équation complexe impliquant le logarithme de B)
OHTA — approxime la transformation en composantes principales
I1=0.33333R+0.33334G+0.33333B ; semblable à une intensité
I2=(0.50000R+0.00000G−0.50000B)(QuantumRange+1)/2
I3=(−0.25000R+0.50000G−0.25000B)(QuantumRange+1)/2
Rec601Luma
Gray = 0.298839R+0.586811G+0.114350B
Rec601YCbCr
Y=0.2988390R+0.5868110G+0.1143500B ; semblable à une intensité
Cb=(−0.168736R-0.331264G+0.500000B)(QuantumRange+1)/2
Cr=(0.500000R−0.418688G−0.081312B)(QuantumRange+1)/2
Rec709Luma
Gray=0.212656R+0.715158G+0.072186B
Rec709YCbCr
Y=0.212656R+0.715158G+0.072186B ; semblable à une intensité
Cb=(−0.114572R−0.385428G+0.500000B)+(QuantumRange+1)/2
Cr=(0.500000R−0.454153G−0.045847B)+(QuantumRange+1)/2
sRGB
if R ≤ .0.0031308 then Rs=R/12.92 else Rs=1.055 R ^ (1.0 / 2.4) - 0.055
if G ≤ .0.0031308 then Gs=B/12.92 else Gs=1.055 R ^ (1.0 / 2.4) - 0.055
if B ≤ .0.0031308 then Bs=B/12.92 else Bs=1.055 R ^ (1.0 / 2.4) - 0.055
XYZ
X=0.4124564R+0.3575761G+0.1804375B
Y=0.2126729R+0.7151522G+0.0721750B
Z=0.0193339R+0.1191920G+0.9503041B
YCC
Y=(0.298839R+0.586811G+0.114350B) (avec une mise à l'échelle complexe) ; semblable à une intensité
C1=(−0.298839R−0.586811G+0.88600B) (avec une mise à l'échelle complexe)
C2=(0.70100R−0.586811G−0.114350B) (avec une mise à l'échelle complexe)
YCbCr
Y=0.2988390R+0.5868110G+0.1143500B ; semblable à une intensité
Cb=(−0.168736R−0.331264G+0.500000B)(QuantumRange+1)/2
Cr=(0.500000R−0.418688G−0.081312B)(QuantumRange+1)/2
YIQ
Y=0.298839R+0.586811G+0.114350B ; semblable à une intensité
I=(0.59600R−0.27400G−0.32200B)(QuantumRange+1)/2
Q=(0.21100R−0.52300G+0.31200B)(QuantumRange+1)/2
YPbPr
Y=0.2988390R+0.5868110G+0.1143500B ; semblable à une intensité
Pb=(−0.168736R−0.331264G+0.500000B)(QuantumRange+1)/2
Pr=(0.500000R−0.418688G−0.081312B)(QuantumRange+1)/2
YUV
Y=0.298839R+0.586811G+0.114350B ; semblable à une intensité
U=(−0.14740R−0.28950G+0.43690B)(QuantumRange+1)/2
V=(0.61500R−0.51500G−0.10000B)(QuantumRange+1)/2
Notez que l'espace colorimétrique scRGB nécessite la prise en charge HDRI, sans quoi il se comporte exactement comme du RGB linéaire.
Utilisez l'espace colorimétrique Undefined pour identifier les images multispectrales.
-color-threshold start-color-stop-color
Renvoie une image binaire où toutes les couleurs comprises dans la plage spécifiée sont changées en blanc. Toutes les autres couleurs sont changées en noir.
-combine
+combine colorspace
Combine une ou plusieurs images en une seule image.
Les canaux (précédemment définis par -channel) de l'image combinée sont extraits des valeurs de niveaux de gris de chaque image de la séquence, dans l'ordre. Pour le réglage par défaut RGB de -channel, cela signifie que la première image est affectée au canal Rouge, la deuxième au canal Vert, la troisième au canal Bleu.
Cette option peut être considérée comme l'inverse de -separate, tant que les réglages de canaux sont identiques. Ainsi, dans l'exemple suivant, l'image finale devrait être une copie de l'originale.
magick original.png -channel RGB -separate sepimage.png
convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \
-combine imagecopy.png
-comment string
Intègre un commentaire dans une image.
Cette option définit les métadonnées de commentaire d'une image lue après que cette option a été donnée. Pour modifier le commentaire d'images déjà en mémoire, utilisez « -set comment ».
Le commentaire peut contenir des caractères de format spéciaux répertoriés dans Format and Print Image Properties. Ces attributs sont développés lorsque le commentaire est finalement affecté aux images individuelles.
Si le premier caractère de string est @, le commentaire de l'image est lu depuis un fichier dont le titre correspond aux caractères restants de la chaîne. Les commentaires lus depuis un fichier sont littéraux ; aucun caractère de formatage intégré n'est reconnu.
Les métadonnées de commentaire ne sont pas visibles sur l'image elle-même. Pour cela, utilisez plutôt les options -annotate ou -draw.
Par exemple,
-comment "%m:%f %wx%h" bird.miff
produit un commentaire d'image MIFF:bird.miff 512x480 (en supposant que l'image bird.miff a une largeur de 512 et une hauteur de 480.
-compare
Annote mathématiquement et visuellement la différence entre une image et sa reconstruction
Il s'agit d'une version pour convert de « compare » destinée à deux images de même taille. La syntaxe est la suivante, mais d'autres métriques sont autorisées.
magick image.png reference.png -metric RMSE -compare \
difference.png
Pour obtenir la valeur de la métrique, utilisez le format de chaîne "%[distortion]".
magick image.png reference.png -metric RMSE -compare -format \
"%[distortion]" info:
-complex operator
Effectue des calculs sur les nombres complexes sur une séquence d'images
Choisissez parmi ces opérateurs :
add
conjugate
divide
magnitude-phase
multiply
real-imaginary
subtract
Vous pouvez éventuellement spécifier le SNR de l'opérateur divide avec -define complex:snr=float.
-compose operator
Définit le type de composition d'image.
Voir Alpha Compositing pour une discussion détaillée de la composition alpha.
Ce réglage affecte les opérateurs de traitement d'image qui fusionnent deux (ou plusieurs) images d'une manière ou d'une autre. Cela inclut les opérateurs -compare, -composite, -layers composite, -flatten, -mosaic, -layers merge, -border, -frame et -extent.
C'est également l'une des options principales de la commande « composite ».
-composite
Effectue une composition alpha sur deux images et un masque optionnel
Prend la première image « destination » et superpose la deuxième image « source » selon le réglage -compose courant. L'emplacement de l'image « source » ou « overlay » est contrôlé selon les réglages -gravity et -geometry.
Si une troisième image est fournie, elle est traitée comme une image « masque » de mélange en niveaux de gris relative à la première image « destination ». Ce masque est mélangé avec l'image source. Toutefois, pour la méthode de composition « displace », le masque est utilisé pour fournir à la place une image de déplacement Y distincte.
Si une méthode -compose nécessite des arguments numériques supplémentaires ou des indicateurs, ceux-ci peuvent être fournis en réglant -set 'option:compose:args' de manière appropriée pour la méthode de composition.
Certaines méthodes -compose peuvent modifier l'image « destination » en dehors de la zone de superposition. Ce comportement est désactivé par défaut. Vous pouvez l'activer en définissant le define : -define 'compose:clip-to-self=true'.
La spécification de composition SVG exige que les valeurs de couleur et d'opacité soient comprises entre zéro et QuantumRange inclus. Vous pouvez autoriser des valeurs en dehors de cette plage avec cette option : -set 'option:compose:clamp=false
-compress type
Utilise la compression de pixels spécifiée par type lors de l'écriture de l'image.
Les choix sont : None, BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE ou Zip.
Pour afficher une liste complète des types de compression, utilisez -list compress.
Spécifiez +compress pour stocker l'image binaire dans un format non compressé. La valeur par défaut est le type de compression du fichier image spécifié.
Si la compression LZW est spécifiée mais que la compression LZW n'a pas été activée, les données de l'image sont écrites dans un format LZW non compressé qui peut être lu par les décodeurs LZW. Cela peut produire des fichiers GIF plus volumineux que prévu.
Lossless fait référence au JPEG sans perte, qui n'est disponible que si la bibliothèque JPEG a été corrigée pour le prendre en charge. L'utilisation du JPEG sans perte n'est généralement pas recommandée.
Lors de l'écriture d'un fichier ICO, vous pouvez demander que les images soient encodées au format PNG en spécifiant la compression Zip.
Lors de l'écriture d'un fichier JNG, spécifiez la compression Zip pour demander que le canal alpha soit encodé au format PNG « IDAT », ou JPEG pour demander qu'il soit encodé au format JPG « JDAA ».
Utilisez l'option -quality pour définir le niveau de compression à utiliser par les encodeurs JPEG, PNG, MIFF et MPEG. Utilisez l'option -sampling-factor pour définir le facteur d'échantillonnage à utiliser par les encodeurs JPEG, MPEG et YUV pour le sous-échantillonnage des canaux de chrominance.
-connected-components connectivity
L'étiquetage connected-components détecte les régions connexes dans une image ; choisissez une connectivité à 4 ou 8 directions.
Utilisez -define connected-components:verbose=true pour produire les statistiques associées à chaque étiquette unique.
-contrast
Améliore ou réduit le contraste de l'image.
Cette option accentue les différences d'intensité entre les éléments clairs et sombres de l'image. Utilisez -contrast pour améliorer l'image ou +contrast pour réduire le contraste de l'image.
Pour un effet plus prononcé, vous pouvez répéter l'option :
magick rose: -contrast -contrast rose_c2.png
-contrast-stretch black-point
-contrast-stretch black-point{xwhite-point}{%}
Augmente le contraste d'une image en étirant la plage des valeurs d'intensité.
Pendant l'étirement, met en noir au plus black-point pixels et met en blanc au plus white-point pixels. Ou, si un pourcentage est utilisé, met en noir au plus black-point % pixels et met en blanc au plus white-point % pixels.
Avant ImageMagick 6.4.7-0, -contrast-stretch met en noir au plus black-point pixels et met en blanc au plus le nombre total de pixels moins white-point pixels. Ou, si un pourcentage est utilisé, met en noir au plus black-point % pixels et met en blanc au plus 100 % moins white-point % pixels.
Notez que -contrast-stretch 0 modifie l'image de telle sorte que les valeurs min et max de l'image soient étirées respectivement à 0 et QuantumRange, sans aucune perte de données due à une saturation ou à un écrêtage à l'une ou l'autre des extrémités. Ce n'est pas la même chose que -normalize, qui équivaut à -contrast-stretch 2%x1% (ou, avant ImageMagick 6.4.7-0, à -contrast-stretch 2%x99%).
En interne, l'opérateur fonctionne en créant un compartiment d'histogramme, puis utilise ce compartiment pour modifier l'image. Ainsi, certaines couleurs peuvent être fusionnées lorsqu'elles tombaient à l'origine dans le même « compartiment ».
Tous les canaux sont normalisés de concert de la même quantité afin de préserver l'intégrité des couleurs, lorsque le réglage par défaut +channel est utilisé. Spécifier tout autre réglage -channel normalisera les canaux RGB indépendamment.
Voir aussi -auto-level pour une normalisation « parfaite » des images mathématiques.
Cet opérateur est en cours de réexamen en vue d'un redéveloppement.
-convolve kernel
Effectue la convolution d'une image avec un noyau de convolution fourni par l'utilisateur.
Le noyau est une matrice spécifiée sous forme de liste d'entiers séparés par des virgules (sans espaces), ordonnés de gauche à droite, en commençant par la rangée du haut. Actuellement, seuls les noyaux de dimensions impaires sont pris en charge ; par conséquent, le nombre d'entrées du noyau spécifié doit être 32=9, 52=25, 72=49, etc.
Notez que l'opérateur -convolve prend en charge le réglage -bias. Cette option décale la convolution de sorte que les résultats positifs et négatifs soient relatifs à une valeur de biais spécifiée par l'utilisateur. C'est important pour les compilations non-HDRI d'ImageMagick lorsqu'on traite des convolutions contenant des valeurs à la fois négatives et positives. C'est particulièrement le cas pour les convolutions impliquant des filtres passe-haut ou la détection de contours. Sans biais en sortie, les valeurs négatives sont écrêtées à zéro.
Lorsqu'on utilise un ImageMagick avec le réglage de compilation HDRI, -bias n'est pas nécessaire, car ImageMagick est capable de stocker/gérer tout résultat négatif sans écrêtage à la plage des valeurs de couleur (0..QuantumRange). Voir la discussion sur les implémentations HDRI d'ImageMagick sur la page High Dynamic-Range Images. Pour en savoir plus sur le HDRI, consultez les pages Usage d'ImageMagick ou cet article de Wikipedia.
-copy geometry offset
Copie des pixels d'une zone d'une image vers une autre.
-crop geometry{@}{!}
Découpe une ou plusieurs régions rectangulaires de l'image.
Voir Géométrie d'image pour tous les détails concernant l'argument geometry.
La largeur et la hauteur de l'argument geometry donnent la taille de l'image qui subsiste après le rognage, et x et y dans le décalage (s'il est présent) donnent l'emplacement du coin supérieur gauche de l'image rognée par rapport à l'image d'origine. Pour spécifier la quantité à retirer, utilisez plutôt -shave.
Si les décalages x et y sont présents, une seule image est générée, constituée des pixels de la région de rognage. Les décalages spécifient l'emplacement du coin supérieur gauche de la région de rognage mesuré vers le bas et vers la droite par rapport au coin supérieur gauche de l'image. Si l'option -gravity est présente avec une gravité NorthEast, East ou SouthEast, elle donne la distance vers la gauche depuis le bord droit de l'image jusqu'au bord droit de la région de rognage. De même, si l'option -gravity est présente avec une gravité SouthWest, South ou SouthEast, la distance est mesurée vers le haut entre les bords inférieurs.
Si les décalages x et y sont omis, un ensemble de tuiles de la géométrie spécifiée, couvrant toute l'image d'entrée, est généré. Les tuiles les plus à droite et les tuiles du bas sont plus petites si la géométrie spécifiée s'étend au-delà des dimensions de l'image d'entrée.
Vous pouvez ajouter le @ à l'argument geometry pour diviser également l'image en fonction du nombre de tuiles générées.
En ajoutant un drapeau point d'exclamation à l'argument geometry, la taille de page et le décalage du canevas virtuel des images rognées sont définis comme si l'argument geometry était une fenêtre d'affichage (viewport) ou une fenêtre. Cela signifie que la taille de page du canevas est définie exactement à la taille que vous avez spécifiée, le décalage de l'image étant défini par rapport au coin supérieur gauche de la région rognée.
Si l'image rognée « manque » l'image réelle sur son canevas virtuel, une image spéciale d'un seul pixel transparent « manquée » est renvoyée, et un avertissement « crop missed » est émis.
Il peut être nécessaire d'appliquer +repage à l'image avant de la rogner pour s'assurer que le cadre de coordonnées de rognage est relocalisé dans le coin supérieur gauche de l'image visible. De même, vous pouvez vouloir utiliser +repage après le rognage pour supprimer le décalage de page qui restera. Cela est particulièrement vrai lorsque vous allez écrire dans un format d'image tel que PNG qui prend en charge un décalage d'image.
-cycle amount
Décale la table de couleurs (colormap) de l'image de la valeur amount.
Amount définit le nombre de positions dont chaque entrée de la table de couleurs est décalée.
-debug events
Active l'affichage des informations de débogage.
Le paramètre events spécifie quels événements doivent être journalisés. Il peut s'agir soit de None, All, Trace, soit d'une liste séparée par des virgules composée d'un ou plusieurs des domaines suivants : Accelerate, Annotate, Blob, Cache, Coder, Configure, Deprecate, Exception, Locale, Render, Resource, Security, TemporaryFile, Transform, X11 ou User.
Par exemple, pour journaliser les événements cache et blob, utilisez.
magick -debug "Cache,Blob" rose: rose.png
Le domaine User est normalement vide, mais les développeurs peuvent journaliser des événements utilisateur dans leur copie privée d'ImageMagick.
Pour afficher la liste complète des méthodes de débogage, utilisez -list debug.
Utilisez l'option -log pour spécifier le format de la sortie de débogage.
Utilisez +debug pour désactiver toute journalisation.
Le débogage peut également être défini à l'aide de la variable d'environnement MAGICK_DEBUG. Les valeurs autorisées pour la variable d'environnement MAGICK_DEBUG sont les mêmes que pour l'option -debug.
-decipher filename
Déchiffre et restaure les pixels qui ont été précédemment transformés par -encipher.
Obtient la phrase secrète à partir du fichier spécifié par filename.
Pour plus d'informations, voir la page web ImageMagick : Chiffrer ou déchiffrer une image.
-deconstruct
Trouve les zones qui ont changé entre les images
À partir d'une séquence d'images toutes de la même taille, telles que celles produites par -coalesce, remplace la deuxième image et les suivantes par une image plus petite ne contenant que la zone qui a changé par rapport à l'image précédente.
La séquence d'images résultante peut être utilisée pour optimiser une séquence d'animation, bien qu'elle ne fonctionne pas correctement pour les animations GIF lorsque des parties de l'animation peuvent passer de l'opacité à la transparence.
Cette option est en réalité équivalente à la méthode -layers « compare-any ».
-define key{=value}...
Ajoute des paramètres globaux spécifiques généralement utilisés pour contrôler les codeurs et les opérations de traitement d'image.
Cette option crée une ou plusieurs définitions que les codeurs et décodeurs utilisent lors de la lecture et de l'écriture des données d'image. Les définitions sont généralement utilisées pour contrôler les modules codeurs de format de fichier image, et les opérations de traitement d'image, au-delà de ce qui est fourni par les moyens normaux. Les paramètres définis sont listés dans les informations -verbose (format de sortie « info: ») en tant qu'« Artifacts ».
Si value est absent pour une définition, une définition à valeur vide d'un drapeau est créée avec ce nom. Cela sert à contrôler les options activé/désactivé. Utilisez +define key pour supprimer les définitions précédemment créées. Utilisez +define "*" pour supprimer toutes les définitions existantes.
Les mêmes paramètres « artifact » peuvent également être définis à l'aide de l'option -set "option:key" "value", qui permet aussi l'utilisation de Format et impression des propriétés d'image dans la valeur définie.
L'option et la clé sont insensibles à la casse (elles sont converties en minuscules pour être utilisées au sein des décodeurs) tandis que la valeur est sensible à la casse.
De tels paramètres ont une portée globale et affectent toutes les images et opérations.
Voir Définitions ImageMagick pour une liste des définitions reconnues. Par exemple :
magick bilevel.tif -define ps:imagemask eps3:stencil.ps
Définissez les attributs du registre d'images en préfixant la valeur par registry:. Par exemple, pour définir un chemin temporaire où placer les fichiers de travail, utilisez :
-define registry:temporary-path=/data/tmp
-delay ticks
-delay ticksxticks-per-second {<} {>}
Affiche l'image suivante après une pause.
Cette option est utile pour réguler l'animation des séquences d'images : ticks/ticks-per-second secondes doivent s'écouler avant l'affichage de l'image suivante. Par défaut, il n'y a aucun délai entre chaque affichage de la séquence d'images. La valeur par défaut de ticks-per-second est 100.
Utilisez > pour modifier le délai de l'image uniquement si sa valeur actuelle dépasse le délai donné. < modifie le délai de l'image uniquement si la valeur actuelle est inférieure au délai donné. Par exemple, si vous spécifiez 30> et que le délai de l'image est 20, le délai de l'image ne change pas. Cependant, si le délai de l'image est 40 ou 50, le délai est changé à 30. Encadrez le délai donné par des guillemets pour empêcher que le < ou le > soit interprété par votre shell comme une redirection de fichier.
-delete indexes
Supprime les images spécifiées par index, de la séquence d'images.
Spécifiez l'image par son index dans la séquence. La première image a l'index 0. Les index négatifs sont relatifs à la fin de la séquence, par exemple, -1 représente la dernière image de la séquence. Spécifiez une plage d'images avec un tiret (par ex. 0-4). Séparez les index par une virgule (par ex. 0,2). Utilisez +delete pour supprimer la dernière image de la séquence d'images actuelle. Utilisez -delete 0--1 pour supprimer toute la séquence d'images.
Vous pouvez également supprimer des images du registre persistant, par ex., -delete registry:checkers
-density width
-density widthxheight
Définit la résolution horizontale et verticale d'une image pour le rendu vers les périphériques.
Cette option spécifie la résolution d'image à stocker lors de l'encodage d'une image matricielle ou la résolution du canevas lors du rendu (lecture) de formats vectoriels tels que Postscript, PDF, WMF et SVG en une image matricielle. La résolution d'image fournit l'unité de mesure à appliquer lors du rendu vers un périphérique de sortie ou une image matricielle. L'unité de mesure par défaut est le point par pouce (DPI). L'option -units peut être utilisée pour sélectionner à la place le point par centimètre.
La résolution par défaut est de 72 points par pouce, ce qui équivaut à un point par pixel (norme Macintosh et Postscript). Les écrans d'ordinateur sont normalement de 72 ou 96 points par pouce, tandis que les imprimantes prennent généralement en charge 150, 300, 600 ou 1200 points par pouce.
Si le format de fichier le prend en charge, cette option peut être utilisée pour mettre à jour la résolution d'image stockée. Notez que Photoshop stocke et obtient la résolution d'image à partir d'un profil propriétaire intégré. Si ce profil n'est pas supprimé de l'image, alors Photoshop continuera à traiter l'image en utilisant son ancienne résolution, ignorant la résolution d'image spécifiée dans l'en-tête de fichier standard.
L'option -density définit un attribut et ne modifie pas l'image matricielle sous-jacente. Elle peut être utilisée pour ajuster la taille de rendu à des fins de publication assistée par ordinateur en ajustant l'échelle appliquée aux pixels. Pour changer le nombre de pixels dans l'image afin qu'elle ait les mêmes dimensions physiques (en pouces ou en centimètres), utilisez l'option -resample.
-depth value
Profondeur de l'image.
La profondeur de couleur est le nombre de bits par canal pour chaque pixel. Par exemple, pour une profondeur de 16 en RGB, chaque canal de Rouge, Vert et Bleu peut aller de 0 à 2^16-1 (65535). Utilisez cette option pour spécifier la profondeur des formats d'images brutes dont la profondeur est inconnue tels que GRAY, RGB ou CMYK, ou pour changer la profondeur de toute image après sa lecture. Par défaut, lors de la réduction de la profondeur des pixels, les bits de poids fort sont tronqués. Utilisez -dither FloydSteinberg pour répartir à la place l'erreur de quantification sur les pixels voisins.
Utilisez +depth pour ramener la profondeur à sa valeur par défaut.
-descend
Obtient l'image en descendant la hiérarchie des fenêtres.
-deskew threshold{%}
Redresse une image. Un seuil de 40 % fonctionne pour la plupart des images.
Utilisez -set option:deskew:auto-crop true | false pour rogner automatiquement l'image.
-despeckle
Réduit les taches (speckles) dans une image.
-direction type
Rend le texte de droite à gauche ou de gauche à droite. Nécessite la bibliothèque déléguée RAQM et la disposition de texte complexe.
-displace horizontal-scale{%}{!}
-displace horizontal-scalexvertical-scale{%}{!}
Décale les pixels de l'image tel que défini par une carte de déplacement.
Avec cette option, l'image « overlay », et éventuellement l'image « mask », est utilisée comme carte de déplacement, qui sert à déplacer la recherche de la partie de l'image « background » qui est vue en chaque point de la zone superposée. Un peu comme si la carte de déplacement était une « lentille » qui redirige la lumière qui la traverse afin de présenter une vue déformée de l'image « background » d'origine derrière elle.
Toute zone parfaitement grise de la carte de déplacement produit un déplacement nul de l'image. Les zones noires produisent le déplacement négatif maximal donné du point de recherche, tandis que le blanc produit un déplacement positif maximal de la recherche.
Notez que c'est la recherche du « background » qui est déplacée, et non un déplacement de l'image elle-même. Ainsi, une zone de la carte de déplacement contenant du « blanc » verra son point de recherche « décalé » d'une quantité positive, et générera donc une copie de l'image de destination vers la droite/le bas par rapport à la position correcte. Autrement dit, l'image semblera avoir été « décalée » dans une direction négative gauche/haut. Comprendre cela est très important pour comprendre le fonctionnement des cartes de déplacement.
Les arguments donnés définissent la quantité maximale de déplacement en pixels qu'une carte particulière peut produire. Si l'échelle de déplacement est suffisamment grande, il est également possible de rechercher des parties de l'image « background » qui se situent bien en dehors des limites de la carte de déplacement elle-même. Autrement dit, vous pourriez très facilement copier une section de l'image d'origine située en dehors de la zone d'overlay vers l'intérieur de la zone d'overlay.
Le drapeau « % » rend l'échelle de déplacement relative à la taille de l'image overlay (100 % = la moitié de la largeur/hauteur de l'image). L'utilisation de « ! » fait que les arguments en pourcentage se réfèrent plutôt à la taille de l'image de destination. Ces drapeaux ont été ajoutés à partir d'IM v6.5.3-5.
Normalement, une seule carte de déplacement en niveaux de gris est fournie, qui, avec les valeurs d'échelle données, déterminera une seule direction (vecteur) dans laquelle les déplacements peuvent se produire (positivement ou négativement). Cependant, si vous spécifiez aussi une troisième image qui est normalement utilisée comme masque, l'image composite est utilisée pour le déplacement horizontal X, tandis que l'image masque est utilisée pour le déplacement vertical Y. Cela vous permet de définir des valeurs de déplacement complètement différentes pour les directions X et Y, et de rechercher n'importe quel point dans les limites de l'échelle. En d'autres termes, chaque pixel peut rechercher n'importe quel autre pixel proche, produisant des déplacements bidimensionnels complexes, plutôt que de simples déplacements vectoriels unidimensionnels.
Alternativement, plutôt que de fournir deux images séparées, à partir d'IM v6.4.4-0, vous pouvez utiliser le canal « red » de l'image overlay pour spécifier le déplacement horizontal ou X, et le canal « green » pour le déplacement vertical ou Y.
À partir d'IM v6.5.3-5, tout canal alpha de l'image overlay est utilisé comme masque de la transparence de l'image de destination. Cependant, les zones en dehors des zones superposées ne seront pas affectées.
-display host:display[.screen]
Spécifie le serveur X à contacter.
Cette option est utilisée avec convert pour obtenir l'image ou la police depuis ce serveur X. Voir X(1).
-dispose method
Définit le paramètre de gestion (disposal) d'image GIF pour les images qui sont créées ou lues.
La méthode de gestion des calques (layer disposal) définit la manière dont chaque image affichée doit être modifiée après que la « frame » actuelle d'une animation a fini d'être affichée (après sa période de « delay »), mais avant que la frame suivante d'une animation ne soit superposée à l'affichage.
Voici les méthodes valides :
- Undefined
- 0 : Aucune méthode de gestion spécifiée (équivalent à « none »).
- None
- 1 : Ne pas gérer, superposer simplement l'image de la frame suivante.
- Background
- 2 : Effacer la zone de la frame avec la couleur d'arrière-plan.
- Previous
- 3 : Effacer pour revenir à l'image antérieure à la superposition de cette frame.
Vous pouvez également utiliser les nombres donnés ci-dessus, qui sont ce que le format GIF utilise en interne pour représenter les paramètres ci-dessus.
Pour afficher la liste complète des méthodes de gestion (dispose), utilisez -list dispose.
Utilisez +dispose pour désactiver le paramètre et empêcher la réinitialisation des méthodes de gestion des calques des images en cours de lecture.
Utilisez -set 'dispose' method pour définir la méthode de gestion d'image pour les images déjà en mémoire.
-dissimilarity-threshold value
RMSE maximal pour la correspondance de sous-image (par défaut 0.2).
-dissolve src_percent[xdst_percent]
Fond une image dans une autre selon le pourcentage donné.
L'opacité de l'image composite est multipliée par le pourcentage donné, puis elle est composée « over » l'image principale. Si src_percent est supérieur à 100, commence à faire fondre l'image principale de sorte qu'elle devienne transparente à une valeur de « 200 ». Si les deux pourcentages sont donnés, chaque image est fondue selon les pourcentages donnés.
Notez que les pourcentages de fondu ne s'additionnent pas : deux images opaques fondues à « 50,50 » produisent une transparence de 75 %. Pour un mélange 50 % + 50 % des deux images, vous devriez utiliser des valeurs de fondu de « 50,100 ».
-distort method arguments
Déforme une image en utilisant la méthode indiquée et ses arguments requis.
Les arguments forment une seule chaîne de caractères contenant une liste de nombres à virgule flottante séparés par des virgules ou des espaces. Le nombre et la signification des valeurs à virgule flottante dépendent de la méthode de déformation utilisée.
Choisissez parmi ces types de déformation :
| Method | Description |
|---|---|
| ScaleRotateTranslate | |
| SRT | Déforme l'image en la mettant d'abord à l'échelle et en la faisant pivoter autour d'un 'center' (centre) donné, avant de translater ce 'center' vers le nouvel emplacement, dans cet ordre. C'est une méthode alternative pour spécifier un type de déformation 'Affine', mais sans effets de cisaillement. Elle fournit également un bon moyen de faire pivoter et de déplacer une image plus petite pour la mosaïquer sur un arrière-plan plus grand (c.-à-d. des animations en 2 dimensions). |
| Le nombre d'arguments détermine la signification spécifique de chaque argument pour les opérations de mise à l'échelle, de rotation et de translation. | |
| 2: Scale Angle | |
| 3: X,Y Angle | |
| 4: X,Y Scale Angle | |
| 5: X,Y ScaleX,ScaleY Angle | |
| 6: X,Y Scale Angle NewX,NewY | |
| 7: X,Y ScaleX,ScaleY Angle NewX,NewY | |
| C'est en réalité une autre façon de spécifier une déformation linéaire 'Affine' ou 'AffineProjection' en 2 dimensions. | |
| Affine | Déforme l'image de façon linéaire en déplaçant une liste d'au moins 3 ensembles de points de contrôle (tels que définis ci-dessous). Idéalement, 3 ensembles, soit 12 valeurs à virgule flottante, sont fournis, ce qui permet de mettre à l'échelle, de faire pivoter, de cisailler et de translater l'image de façon linéaire selon ces trois points. Voir aussi les déformations connexes 'AffineProjection' et 'SRT'. |
| Lorsque plus de 3 ensembles de paires de points de contrôle (12 nombres) sont fournis, un ajustement par moindres carrés est effectué pour correspondre au mieux à une déformation affine linéaire. Si seulement 2 paires de points de contrôle (8 nombres) sont fournies, une translation, une rotation et une mise à l'échelle de l'image à partir de deux points sont effectuées, sans aucun cisaillement, retournement ou changement de rapport d'aspect possible sur l'image résultante. Si une seule paire de points de contrôle est fournie, l'image est seulement translatée (ce qui peut être une translation à virgule flottante non entière). | |
| Cette déformation n'inclut aucune forme de déformation de perspective. | |
| RigidAffine | Une transformation affine rigide (également appelée transformation euclidienne) est similaire à Affine mais limite la déformation à 4 arguments (S, R, Tx, Ty) avec Sy = Sx et Ry = -Rx, de sorte que la déformation ne comporte que de la mise à l'échelle, de la rotation et de la translation. Pas de gauchissement. Un minimum de deux paires de points de contrôle est requis. |
| AffineProjection | Déforme une image de façon linéaire en utilisant la matrice affine fournie, composée de 6 coefficients pré-calculés formant un ensemble d'équations affines pour faire correspondre l'image source à l'image de destination. sx, rx, ry, sy, tx, ty Voir le réglage -affine pour plus de détails et la signification de ces coefficients. |
| Les déformations 'Affine' et 'SRT' offrent des méthodes alternatives pour définir cette déformation, ImageMagick effectuant les calculs nécessaires pour générer les coefficients requis. Vous pouvez voir les coefficients générés en interne en utilisant un réglage -verbose avec ces autres variantes. | |
| BilinearForward | |
| BilinearReverse | Déformation bilinéaire, à partir d'un minimum de 4 ensembles de paires de coordonnées, soit 16 valeurs (voir ci-dessous). Notez que les lignes peuvent ne pas apparaître droites après la déformation, bien que la distance entre les coordonnées reste cohérente. |
| La forme 'BilinearForward' sert à faire correspondre des rectangles à n'importe quel quadrilatère, tandis que la forme 'BilinearReverse' fait correspondre n'importe quel quadrilatère à un rectangle, tout en préservant les bords en lignes droites dans chaque cas. | |
| Notez que 'BilinearForward' peut générer des pixels invalides qui seront colorés à l'aide du réglage de couleur -mattecolor. De plus, si le quadrilatère devient 'retourné', l'image peut disparaître. | |
| Il est prévu à l'avenir de produire une véritable déformation bilinéaire qui tentera de faire correspondre n'importe quel quadrilatère à n'importe quel autre quadrilatère, tout en préservant les bords (et les rapports de distance des bords). | |
| Perspective | Déforme les images en perspective, en utilisant une liste de 4 ensembles de points de contrôle ou plus (tels que définis ci-dessous). Plus de 4 ensembles (16 nombres) de points de contrôle fournissent un ajustement par moindres carrés pour des déformations plus précises (à des fins de recalage d'image et d'effets panoramiques). Moins de 4 ensembles entraîneront un repli vers une déformation linéaire 'Affine'. |
| Les images déformées en perspective garantissent que les lignes droites restent droites, mais l'échelle de l'image déformée variera. L'horizon est anticrénelé, et la couleur du 'ciel' peut être définie à l'aide du réglage -mattecolor. | |
| PerspectiveProjection | Effectue une déformation 'Perspective' basée sur un ensemble de 8 coefficients pré-calculés. Vous pouvez obtenir ces coefficients en consultant la sortie -verbose d'une déformation 'Perspective', ou en les calculant vous-même. Si les deux derniers coefficients de mise à l'échelle de perspective sont nuls, les 6 restants représentent une 'matrice affine' transposée. |
| Polynomial | Effectue une déformation 'Polynomial' 2D d'ordre N en utilisant un ensemble de points de contrôle correspondants. L'ordre du polynôme dicte le nombre minimal de points de contrôle nécessaires. L'ordre 1 est identique à -distort Affine. L'ordre 1.5 est identique à -distort BilinearReverse. L'utilisation typique est pour une déformation de 2e ordre. Il n'existe pas de +distort polynomial. |
| Arc | Courbe l'image (variante de la cartographie polaire) sur l'angle donné autour d'un cercle. |
| arc_angle : L'angle sur lequel courber l'image d'un côté à l'autre | |
| rotate_angle : Angle de rotation de l'image résultante par rapport au centre vertical | |
| top_radius : Place le bord supérieur de l'image source à ce rayon | |
| bottom_radius : Place le bord inférieur à ce rayon (mise à l'échelle radiale) | |
| L'image résultante est toujours redimensionnée pour s'ajuster au mieux à l'image résultante (comme avec +distort), tout en tentant de préserver autant que possible l'échelle et le rapport d'aspect de l'image d'origine avec les arguments fournis par l'utilisateur. Les quatre arguments seront nécessaires pour modifier le rapport d'aspect global d'une image courbée ('Arc'). | |
| C'est une variante d'une déformation polaire conçue pour tenter de préserver le rapport d'aspect de l'image plutôt qu'une conversion directe du cartésien au polaire. | |
| Polar | Comme 'Arc', mais effectue une cartographie complète du cartésien au polaire de l'image. Autrement dit, la hauteur de l'image d'entrée est mise en correspondance avec les limites de rayon, tandis que la largeur est enroulée entre les limites d'angle. |
| Arguments : Rmax,Rmin CenterX,CenterY, start,end_angle | |
| Tous les arguments sont facultatifs. Rmin vaut zéro par défaut, le centre correspond au centre de l'image, et les angles vont de -180 (haut) à +180 (haut). Si la valeur spéciale '0' est donnée à Rmax, la distance du centre au bord le plus proche est utilisée comme rayon de l'image de sortie, ce qui garantit que toute l'image est visible (bien que mise à l'échelle plus petite). Cependant, une valeur spéciale de '-1' utilisera la distance du centre au coin le plus éloigné, ce qui peut 'rogner' les coins de l'image rectangulaire d'entrée, mais générera l'inverse exact d'un 'DePolar' avec les mêmes arguments. | |
| Si la forme plus de distort (+distort) est utilisée, le centre de l'image de sortie vaudra par défaut 0,0 du canevas virtuel, et la taille de l'image sera ajustée pour garantir que toute l'image d'entrée est rendue visible dans l'image de sortie sur le canevas virtuel. | |
| DePolar | Utilise les mêmes arguments et significations qu'une déformation 'Polar', mais génère la déformation inverse, du polaire au cartésien. |
| Le réglage spécial de Rmax à '0' peut toutefois rogner les coins de l'image d'entrée. Cependant, l'utilisation du réglage spécial de Rmax à '-1' (distance maximale du centre au coin) garantira que toute l'image déformée est préservée dans le résultat généré, de sorte que le même argument donné à 'Polar' inversera la déformation en reproduisant l'original. Notez que comme cette déformation nécessite le rééchantillonnage de surface d'un arc circulaire, qui ne peut pas être géré par la fonction de rééchantillonnage EWA intégrée. De ce fait, les filtres EWA normaux sont désactivés. Il est recommandé d'utiliser une forme de technique de traitement d'image par 'sur-échantillonnage' pour produire un résultat de haute qualité. | |
| Barrel | À partir des quatre coefficients (A,B,C,D) tels que définis par Helmut Dersch, effectue une déformation en barillet ou en coussinet appropriée pour corriger les distorsions radiales d'objectif. C'est-à-dire, dans les photographies, rendre à nouveau droites les lignes droites. |
| Arguments : A B C [ D [ X , Y ] ] | |
| ou Ax Bx Cx Dx Ay By Cy Dy [ X , Y ] De sorte qu'elle forme la fonction Rsrc = r * ( Ar3 + Br2 + C*r + D ) Où X,Y est le centre facultatif de la déformation (par défaut le centre de l'image). | |
| La seconde forme est généralement utilisée pour déformer des images, plutôt que pour corriger les distorsions d'objectif. | |
| BarrelInverse | Ceci est très similaire à 'Barrel', avec le même ensemble d'arguments et la même gestion des arguments. Cependant, elle utilise l'inverse du polynôme radial, de sorte qu'elle forme la fonction Rsrc = r / ( Ar3 + Br2 + C*r + D ) Notez que ce n'est pas l'inverse de la déformation 'Barrel', juste une méthode de déformation radiale de type barillet différente. |
| Shepards | Déforme la liste donnée de points de contrôle (en nombre quelconque) à l'aide d'une méthode d'interpolation par distance inverse au carré (méthode de Shepard). Les points de contrôle effectuent en fait un déplacement 'localisé' de l'image autour du point de contrôle donné (préservant l'apparence et la rotation de la zone proche des points de contrôle). Pour de meilleurs résultats, des points de contrôle supplémentaires doivent être ajoutés pour 'verrouiller' la position des coins, des bords et des autres parties immuables de l'image, afin d'empêcher leur déplacement. |
| La déformation a été comparée à un 'étirement de caramel' à l'aide de clous, ou à des 'épingles' plantées dans un bloc de 'gelée' que l'on déplace ensuite vers la nouvelle position, déformant la surface de la gelée. | |
| En interne, elle équivaut à générer une carte de déplacement (voir -displace) pour la recherche de couleur de l'image source à l'aide de la méthode -sparse-color du même nom. | |
| To print a complete list of distortion methods, use -list distort. |
Beaucoup des méthodes de déformation ci-dessus, telles que 'Affine', 'Perspective' et 'Shepards', utilisent une liste de points de contrôle définissant comment ces points de l'image donnée doivent être déformés dans l'image de destination. Chaque ensemble de quatre valeurs à virgule flottante représente une coordonnée de l'image source, suivie immédiatement de la coordonnée de l'image de destination. Cela produit une liste de valeurs telle que...
U1,V1 X1,Y1 U2,V2 X2,Y2 U3,V3 X3,Y3 ... Un,Vn Xn,Yn
où U,V sur l'image source est mis en correspondance avec X,Y sur l'image de destination.
Par exemple, pour gauchir une image à l'aide d'une déformation 'perspective', il faut une liste d'au moins 4 ensembles de coordonnées, soit 16 nombres. Voici la déformation en perspective de l'image intégrée « rose: ». Notez comment des espaces ont été utilisés pour grouper les 4 ensembles de paires de coordonnées, afin de la rendre plus facile à lire et à comprendre.
magick rose: -virtual-pixel black \
-distort Perspective '0,0,0,0 0,45,0,45 69,0,60,10 69,45,60,35' \
rose_3d_rotated.gif"
Si plus que le nombre requis de paires de coordonnées est fourni pour une déformation, la méthode de déformation est ajustée par 'moindres carrés' afin de produire le meilleur résultat pour toutes les paires de coordonnées fournies. Si moins que le nombre idéal de points est fourni, la déformation se repliera généralement vers une forme de déformation plus simple capable de gérer le plus petit nombre de coordonnées (généralement une déformation linéaire 'Affine').
En utilisant plus de coordonnées, vous pouvez vous servir d'un outil de recalage d'image pour trouver des paires de coordonnées correspondantes dans des images qui se chevauchent, afin d'améliorer l'« ajustement » de la déformation. Bien entendu, une mauvaise paire de coordonnées peut aussi détériorer l'« ajustement ». La prudence est toujours conseillée.
Les couleurs sont acquises à partir de l'image source selon un -filter de rééchantillonnage cylindrique, à l'aide d'une technique spéciale appelée rééchantillonnage EWA. Cela produit des résultats de très haute qualité, en particulier lorsque les images deviennent plus petites (réduites) dans la sortie, ce qui est très courant avec une déformation 'perspective'. Par exemple, ici nous visualisons un 'plan' infiniment mosaïqué jusqu'à l'horizon.
magick -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \
-distort perspective '0,0,5,45 89,0,45,46 0,89,0,89 89,89,89,89' \
checks_tiled.jpg
Notez qu'une image en perspective infiniment mosaïquée incluant l'horizon peut être très lente, en raison du nombre de pixels qui sont compressés pour générer chaque pixel individuel proche de l'« horizon ». Vous pouvez désactiver le rééchantillonnage EWA en spécifiant le réglage spécial -filter de 'point' (recommandé si vous prévoyez d'utiliser plutôt le sur-échantillonnage).
Si une image génère des pixels invalides , comme le 'ciel' dans le dernier exemple, -distort utilisera le réglage -mattecolor actuel pour ces pixels. Si vous ne voulez pas que ces pixels soient visibles, définissez la couleur pour qu'elle corresponde au reste du sol.
La taille de l'image de sortie sera par défaut identique à celle de l'image d'entrée. Cela signifie que si une partie de l'image déformée tombe en dehors de la zone visualisée de l'« espace déformé », ces parties sont rognées et perdues. Cependant, si vous utilisez la forme plus de l'opérateur (+distort), l'opérateur tentera (si possible) d'afficher la totalité de l'image déformée, tout en conservant un décalage de « canevas virtuel » correct, pour la superposition d'images. Ce décalage peut devoir être supprimé à l'aide de +repage, pour le retirer s'il est indésirable.
Le réglage -verbose amènera -distort à tenter de produire en sortie les coefficients internes ainsi que l'équivalent -fx de la déformation, à des fins d'étude par les experts et de débogage. Cela peut ne pas être disponible pour toutes les déformations.
Vous pouvez également spécifier un réglage spécial « -define distort:viewport={geometry_string} » qui définira la taille et le décalage de l'image de 'viewport' (fenêtre d'affichage) générée de l'espace de l'image déformée.
Définir « -define distort:scale=scale_factor » mettra à l'échelle l'image de sortie (viewport ou non) par ce facteur sans changer le contenu visualisé de l'image déformée. Cela peut servir soit à 'sur-échantillonner' l'image pour un résultat de meilleure qualité, soit à effectuer un panoramique et un zoom autour de l'image (avec les changements de viewport appropriés, ou un rognage et un redimensionnement post-déformation).
Définir « -define resample:verbose=1 » produira en sortie la table de recherche du filtre cylindrique créée par l'algorithme de rééchantillonnage EWA (Elliptical Weighted Average, moyenne pondérée elliptique). Notez que cette table utilise une valeur de recherche de rayon au carré. Ceci n'est généralement utilisé que pour le débogage du rééchantillonnage EWA.
-distribute-cache port
Lance un serveur de cache de pixels distribué.
-dither method
Applique un tramage par diffusion d'erreur de type Riemersma ou Floyd-Steinberg aux images lorsqu'une réduction générale des couleurs est appliquée via une option, ou automagiquement lors de l'enregistrement vers certains formats. Cela est activé par défaut.
Le tramage place deux couleurs ou plus dans des pixels voisins de sorte que, pour l'œil, une approximation plus proche de la couleur originale de l'image soit reproduite. Cela réduit le nombre de couleurs nécessaires pour reproduire l'image, mais au prix d'un motif de couleurs de plus bas niveau. Les tramages par diffusion d'erreur peuvent utiliser n'importe quel ensemble de couleurs (généré ou défini par l'utilisateur) pour une image.
Le tramage est activé par défaut ; pour le désactiver, utilisez la forme plus du réglage, +dither. Cela rendra aussi le PostScript sans anticrénelage du texte ou des graphiques. Désactiver le tramage conduit souvent (mais pas toujours) à un traitement plus rapide, à un plus petit nombre de couleurs, mais à une coloration d'image plus proche du dessin animé. Cela produit généralement des effets de « bandes de couleur » dans les zones comportant des dégradés de couleur.
Les opérateurs de réduction des couleurs -colors, -monochrome, -remap et -posterize appliquent le tramage aux images à l'aide de l'ensemble de couleurs réduit qu'ils ont créé. Ces opérateurs sont également utilisés dans le cadre de la réduction automatique des couleurs lors de l'enregistrement d'images vers des formats à prise en charge limitée des couleurs, tels que GIF:, XBM: et autres, de sorte que le tramage peut aussi être utilisé dans ces cas.
Vous pouvez également utiliser -random-threshold pour générer un tramage purement aléatoire. Ou utilisez -ordered-dither pour appliquer des motifs de tramage à seuil mappé, en utilisant des cartes de couleurs uniformes plutôt que des cartes de couleurs spécifiques.
Utilisez « -define dither:diffusion-amount=35% », par exemple, pour contrôler l'intensité du tramage Floyd-Steinberg.
-draw string
Annote une image avec une ou plusieurs primitives graphiques.
Utilisez cette option pour annoter ou décorer une image avec une ou plusieurs primitives graphiques. Les primitives comprennent des formes, du texte, des transformations et des opérations sur les pixels.
Les primitives de forme :
- point
- x,y
- line
- x0,y0 x1,y1
- rectangle
- x0,y0 x1,y1
- roundRectangle
- x0,y0 x1,y1 wc,hc
- arc
- x0,y0 x1,y1 a0,a1
- ellipse
- x0,y0 rx,ry a0,a1
- circle
- x0,y0 x1,y1
- polyline
- x0,y0 ... xn,yn
- polygon
- x0,y0 ... xn,yn
- bezier
- x0,y0 ... xn,yn
- path
- specification
- image
- operator x0,y0 w,h filename
La primitive de texte :
- text
- x0,y0 string
La primitive de gravité du texte :
- gravity
- NorthWest, North, NorthEast, West, Center, East, SouthWest, South, or SouthEast
La primitive de gravité du texte n'affecte que le placement du texte et n'interagit pas avec les autres primitives. Elle équivaut à utiliser l'option de ligne de commande -gravity, sauf que sa portée est limitée à l'option -draw dans laquelle elle apparaît.
Les primitives de transformation :
- rotate
- degrees
- translate
- dx,dy
- scale
- sx,sy
- skewX
- degrees
- skewY
- degrees
Les primitives d'opération sur les pixels :
- color
- x0,y0 method
- matte
- x0,y0 method
Les primitives de forme sont dessinées dans la couleur spécifiée par le réglage -fill précédent. Pour des formes non remplies, utilisez -fill none. Vous pouvez éventuellement contrôler le trait (le « contour » d'une forme) avec les réglages -stroke et -strokewidth.
Une primitive point est spécifiée par un point unique dans le plan des pixels, c'est-à-dire par une paire ordonnée de coordonnées entières, x,y. (Comme elle ne concerne qu'un seul pixel, une primitive point n'est pas affectée par -stroke ni -strokewidth.)
Une primitive line nécessite un point de départ et un point d'arrivée.
Une primitive rectangle est spécifiée par la paire de points aux coins supérieur gauche et inférieur droit.
Une primitive roundRectangle prend les mêmes points de coin qu'un rectangle, suivis de la largeur et de la hauteur des coins arrondis à retirer.
La primitive circle crée un disque (rempli) ou un cercle (non rempli). Indiquez le centre et n'importe quel point du périmètre (la frontière). Notez qu'en utilisant une translation, vous pouvez éliminer la nécessité de calculer la coordonnée du bord du cercle, et donner simplement le rayon directement :
magick -size 100x60 xc: -stroke SeaGreen -fill PaleGreen -strokewidth 2 -draw 'translate 50,30 circle 0,0 25,0' circle.gif
La primitive arc sert à inscrire un segment elliptique dans un rectangle donné. Un arc nécessite les deux coins utilisés pour le rectangle (voir ci-dessus) suivis des angles de début et de fin de l'arc du segment (p. ex. 130,30 200,100 45,90). Les points de début et de fin produits sont ensuite reliés par un segment de droite et le segment d'ellipse résultant est rempli.
Utilisez ellipse pour dessiner une ellipse partielle (ou complète). Indiquez le point central, les « rayons » horizontal et vertical (les demi-axes de l'ellipse) ainsi que les angles de début et de fin en degrés (p. ex. 100,100 100,150 0,360).
Les primitives polyline et polygon nécessitent trois points ou plus pour définir leur périmètre. Une polyline est simplement un polygone dans lequel le point final n'est pas tracé jusqu'au point de départ. Lorsqu'elle n'est pas remplie, c'est une ligne polygonale. Si le réglage -stroke est none (la valeur par défaut), alors une polyline est identique à un polygone.
Une coordonnée est une paire d'entiers séparés par un espace ou une virgule facultative.
À titre d'exemple, pour définir un cercle centré en 100,100 qui s'étend jusqu'à 150,150, utilisez :
-draw 'circle 100,100 150,150'
La primitive Bezier crée une courbe spline et nécessite trois points ou plus pour définir sa forme. Les premier et dernier points sont les nœuds, et ces points sont atteints par la courbe, tandis que toute coordonnée intermédiaire constitue un point de contrôle. Si deux points de contrôle sont spécifiés, la ligne entre chaque nœud d'extrémité et son point de contrôle respectif détermine la direction de la tangente de la courbe à cette extrémité. Si un seul point de contrôle est spécifié, les lignes reliant les nœuds d'extrémité à cet unique point de contrôle déterminent les directions des tangentes de la courbe à chaque extrémité. Si plus de deux points de contrôle sont spécifiés, alors les points de contrôle supplémentaires agissent en combinaison pour déterminer la forme intermédiaire de la courbe. Afin de dessiner des courbes complexes, il est fortement recommandé soit d'utiliser la primitive path, soit de dessiner plusieurs segments de Bézier à quatre points en répétant les nœuds de début et de fin de chaque segment successif. Par exemple :
-draw 'bezier 20,50 45,100 45,0 70,50'
-draw 'bezier 70,50 95,100 95,0 120,50'
Un path représente le contour d'un objet, défini en termes d'éléments moveto (définir un nouveau point courant), lineto (tracer une ligne droite), curveto (tracer une courbe de Bézier), arc (arc elliptique ou circulaire) et closepath (fermer la forme courante en traçant une ligne jusqu'au dernier moveto). Les chemins composés (c.-à-d. un chemin avec des sous-chemins, chacun constitué d'un seul moveto suivi d'une ou plusieurs opérations de ligne ou de courbe) sont possibles afin de permettre des effets tels que des trous de beignet dans les objets. (Voir Paths.)
Utilisez image pour composer une image avec une autre image. Faites suivre le mot-clé image de l'opérateur de composition, de l'emplacement de l'image, de la taille de l'image et du nom de fichier :
-draw 'image SrcOver 100,100 225,225 image.jpg'
Vous pouvez utiliser 0,0 pour la taille de l'image, ce qui signifie utiliser les dimensions réelles trouvées dans l'en-tête de l'image. Sinon, elle est mise à l'échelle aux dimensions données. Voir Alpha Compositing pour une discussion détaillée des méthodes de composition alpha disponibles.
Les « opérateurs de composition augmentés spéciaux » tels que « dissolve » qui nécessitent des arguments ne peuvent pas être utilisés pour le moment avec l'option -draw image.
Utilisez text pour annoter une image avec du texte. Faites suivre les coordonnées du texte d'une chaîne. Si la chaîne contient des espaces intégrés, encadrez-la de guillemets simples ou doubles.
Par exemple, ce qui suit annote l'image avec Works like magick! pour une image intitulée bird.miff.
-draw "text 100,100 'Works like magick!'"
Voir l'option -annotate pour une autre manière pratique d'annoter une image avec du texte.
La primitive rotate fait pivoter les primitives de forme et de texte suivantes autour de l'origine de l'image principale :
-draw "rotate 45 text 10,10 'Works like magick!'"
La primitive translate translate les primitives de forme et de texte suivantes.
La primitive scale les met à l'échelle.
Les primitives skewX et skewY les inclinent par rapport à l'origine de l'image principale ou de la région.
Les transformations modifient la matrice affine courante, qui est initialisée à partir de la matrice affine initiale définie par l'option -affine. Les transformations sont cumulatives au sein de l'option -draw. La matrice affine initiale n'est pas affectée ; cette matrice n'est modifiée que par l'apparition d'une autre option -affine. Si une autre option -draw apparaît, la matrice affine courante est réinitialisée à partir de la matrice affine initiale.
Utilisez la primitive color pour changer la couleur d'un pixel en la couleur de remplissage (voir -fill). Faites suivre la coordonnée du pixel d'une méthode :
point
replace
floodfill
filltoborder
reset
Considérez le pixel cible comme celui spécifié par votre coordonnée. La méthode point recolore le pixel cible. La méthode replace recolore tout pixel qui correspond à la couleur du pixel cible. Floodfill recolore tout pixel qui correspond à la couleur du pixel cible et qui en est voisin, tandis que filltoborder recolore tout pixel voisin qui n'est pas de la couleur de bordure. Enfin, reset recolore tous les pixels.
Utilisez matte pour changer la valeur matte du pixel en transparent. Faites suivre la coordonnée du pixel d'une méthode (voir la primitive color pour une description des méthodes). La méthode point change la valeur matte du pixel cible. La méthode replace change la valeur matte de tout pixel qui correspond à la couleur du pixel cible. Floodfill change la valeur matte de tout pixel qui correspond à la couleur du pixel cible et qui en est voisin, tandis que filltoborder change la valeur matte de tout pixel voisin qui n'est pas de la couleur de bordure (-bordercolor). Enfin, reset change la valeur matte de tous les pixels.
Vous pouvez définir la couleur de la primitive, la police et la couleur de la boîte englobante de la police avec -fill, -font et -box respectivement. Les options sont traitées dans l'ordre de la ligne de commande, alors veillez à utiliser ces options avant l'option -draw.
Les chaînes qui commencent par un nombre doivent être mises entre guillemets (p. ex. utilisez '1.png' plutôt que 1.png).
Les primitives de dessin sont conformes au format Magick Vector Graphics.
Notez que le dessin nécessite un canal alpha. Si aucun n'est disponible, un canal alpha entièrement opaque est créé implicitement.
-duplicate count,indexes
Duplique une image une ou plusieurs fois.
Spécifiez le nombre de copies et l'image à dupliquer par son index dans la séquence. La première image porte l'index 0. Les index négatifs sont relatifs à la fin de la séquence ; par exemple, -1 représente la dernière image de la séquence. Spécifiez une plage d'images avec un tiret (p. ex. 0-4). Séparez les index par une virgule (p. ex. 0,2). Utilisez +duplicate pour dupliquer la dernière image de la séquence d'images courante.
-edge radius
Détecte les contours dans une image.
-emboss radius{xsigma
Applique un effet de relief à une image.
-encipher filename
Chiffre les pixels pour un déchiffrement ultérieur par -decipher.
Récupère la phrase secrète depuis le fichier spécifié par filename.
Pour plus d'informations, voir la page web ImageMagick: Encipher or Decipher an Image.
-encoding type
Spécifie l'encodage du texte.
Choisissez parmi
AdobeCustom AdobeExpert
AdobeStandard AppleRoman
BIG5 GB2312
Latin 2 None
SJIScode Symbol
Unicode Wansung
-endian type
Spécifie le boutisme (MSB ou LSB) de l'image.
Pour afficher la liste complète des types de boutisme, utilisez l'option -list endian.
Utilisez +endian pour revenir à un boutisme non spécifié.
-enhance
Applique un filtre numérique pour améliorer une image bruitée.
-equalize
Effectue une égalisation d'histogramme sur l'image, canal par canal.
Pour effectuer une égalisation d'histogramme sur tous les canaux de concert, transformez l'image dans un autre espace colorimétrique, tel que HSL, OHTA, YIQ ou YUV, puis égalisez le canal approprié assimilable à l'intensité, puis reconvertissez en RGB.
Par exemple, avec HSL, on a : ... -colorspace HSL -channel lightness -equalize -colorspace sRGB ...
Pour YIQ, YUV et OHTA, utilisez le canal rouge. Par exemple, OHTA est une transformation en composantes principales qui place la majeure partie de l'information dans le premier canal. Ici, on a ... -colorspace OHTA -channel red -equalize -colorspace sRGB ...
-evaluate operator value
Modifie les pixels d'un canal en évaluant une expression arithmétique, relationnelle ou logique.
(Voir l'opérateur -function pour certaines fonctions à plusieurs paramètres. Voir l'opérateur -fx si des calculs plus élaborés sont nécessaires.)
Le comportement de chaque opérateur est résumé dans la liste suivante. Par souci de concision, la valeur numérique d'un « pixel » mentionnée ci-dessous est la valeur du canal correspondant de ce pixel, tandis qu'un « pixel normalisé » est ce nombre divisé par la valeur maximale (dépendante de l'installation) QuantumRange. (Si des pixels normalisés sont utilisés, ils sont rétablis, après les autres calculs, sur la plage complète en multipliant par QuantumRange.)
| Opérateur | Résumé (voir plus bas pour les détails) |
|---|---|
| Abs | Ajoute value aux pixels et renvoie la valeur absolue. |
| Add | Ajoute value aux pixels. |
| AddModulus | Ajoute value aux pixels modulo QuantumRange. |
| And | ET binaire des pixels avec value. |
| Cos, Cosine | Applique le cosinus aux pixels avec la fréquence value, avec un biais de 50 % ajouté. |
| Divide | Divise les pixels par value. |
| Exp | fonction exponentielle de base e |
| Exponential | fonction exponentielle de base e |
| Gaussian-noise | |
| Impulse-noise | |
| InverseLog | Applique le logarithme inverse mis à l'échelle aux pixels normalisés. |
| Laplacian-noise | |
| LeftShift | Décale les valeurs des pixels vers la gauche de value bits (c.-à-d. multiplie les pixels par 2value). |
| Log | Applique le logarithme mis à l'échelle aux pixels normalisés. |
| Max | Fixe les pixels au maximum de value et de la valeur actuelle du pixel (c.-à-d. fixe tout pixel actuellement inférieur à value à value). |
| Mean | Ajoute value et divise par 2. |
| Median | Choisit la valeur médiane dans une séquence d'images. |
| Min | Fixe les pixels au minimum de value et de la valeur actuelle du pixel (c.-à-d. fixe tout pixel actuellement supérieur à value à value). |
| Multiplicative-noise | (Ceux-ci sont équivalents aux opérateurs -noise correspondants.) |
| Multiply | Multiplie les pixels par value. |
| Or | OU binaire des pixels avec value. |
| Poisson-noise | |
| Pow | Élève les pixels normalisés à la puissance value. |
| RightShift | Décale les valeurs des pixels vers la droite de value bits (c.-à-d. divise les pixels par 2value). |
| RMS | Élève le pixel au carré et ajoute value. |
| RootMeanSquare | Élève le pixel au carré et ajoute value. |
| Set | Fixe le pixel égal à value. |
| Sin, Sine | Applique le sinus aux pixels avec la fréquence value, avec un biais de 50 % ajouté. |
| Subtract | Soustrait value des pixels. |
| Sum | |
| Threshold | Applique un seuil aux pixels supérieurs à value. |
| ThresholdBlack | Applique un seuil mettant à zéro les pixels inférieurs ou égaux à value. |
| ThresholdWhite | Applique un seuil mettant à la valeur maximale les pixels supérieurs à value. |
| Uniform-noise | |
| Xor | OU exclusif (XOR) binaire des pixels avec value. |
Les fonctions spécifiées sont appliquées uniquement à chaque -channel précédemment défini dans l'image. Si nécessaire, les résultats des calculs sont tronqués (écrêtés) pour tenir dans l'intervalle [0, QuantumRange]. Le canal de transparence de l'image est représenté par des valeurs « alpha » (0 = entièrement transparent), de sorte que, par exemple, un Divide par 2 du canal alpha rendra l'image semi-transparente. Ajoutez le symbole pourcentage « % » pour spécifier une valeur en pourcentage du QuantumRange.
Pour afficher la liste complète des opérateurs -evaluate, utilisez -list evaluate.
Les résultats des méthodes Add, Subtract et Multiply peuvent également être obtenus à l'aide de l'opérateur -level ou +level, avec l'argument approprié, pour modifier linéairement la plage globale des valeurs de couleur. Notez cependant que -level traite la transparence comme des valeurs « matte » (0 = opaque), tandis que -evaluate travaille avec des valeurs « alpha ».
AddModulus a été ajouté à partir d'ImageMagick 6.4.8-4 et fournit une addition modulo le QuantumRange. Il est donc équivalent à Add sauf si la valeur de pixel résultante se situe en dehors de l'intervalle [0, QuantumRange].
Exp ou Exponential a été ajouté à partir d'ImageMagick 6.6.5-1 et fonctionne sur des valeurs de pixel normalisées. La value utilisée avec Exp doit être négative afin de produire une fonction exponentielle décroissante. Les valeurs non négatives produiront toujours des résultats supérieurs à l'unité et donc en dehors de l'intervalle [0, QuantumRange]. La formule est exprimée ci-dessous.
exp(value × u)
Si l'image d'entrée est élevée au carré, par exemple à l'aide de -function polynomial "2 0 0", le résultat sera une fonction gaussienne décroissante.
Log a été ajouté à partir d'ImageMagick 6.4.2-1 et fonctionne sur des valeurs de pixel normalisées. Il s'agit d'une fonction log mise à l'échelle. La value utilisée avec Log fournit un facteur d'échelle qui ajuste la courbure dans le graphe de la fonction log. La formule appliquée à une valeur normalisée u est ci-dessous.
log(value × u + 1) / log(value + 1)
Pow a été ajouté à partir d'ImageMagick 6.4.1-9 et fonctionne sur des valeurs de pixel normalisées. Notez que Pow est lié à l'opérateur -gamma. Par exemple, -gamma 2 est équivalent à -evaluate pow 0.5 , c.-à-d. une fonction « racine carrée ». La value utilisée avec -gamma est simplement l'inverse de la value utilisée avec Pow.
Cosine et Sine ont été ajoutés à partir d'IM v6.4.8-8 et convertissent les valeurs de l'image en une valeur selon une fonction d'onde (co)sinusoïdale. Les synonymes Cos et Sin peuvent également être utilisés. La sortie est biaisée de 50 % et normalisée de 50 % afin de tenir dans la plage de valeurs de couleur respective. La value met à l'échelle la période de la fonction (sa fréquence), et détermine donc le nombre d'« ondes » qui seront générées sur la plage de couleur d'entrée. Par exemple, si la value est 1, la période effective est simplement le QuantumRange ; mais si la value est 2, alors la période effective est la moitié du QuantumRange.
0.5 + 0.5 × cos(2 π u × value).
Utilisez -set 'option:evaluate:clamp=true pour borner (clamp) la valeur d'évaluation.
Voir aussi l'opérateur -function, qui est une version à plusieurs valeurs d'evaluate.
-evaluate-sequence operator
Modifie les pixels d'un canal en évaluant une expression arithmétique, relationnelle ou logique sur une séquence d'images. Assurez-vous que toutes les images de la séquence sont dans le même espace colorimétrique, sinon vous risquez d'obtenir des résultats inattendus, par exemple ajoutez -colorspace sRGB à votre ligne de commande.
Pour afficher la liste complète des opérateurs -evaluate-sequence, utilisez -list evaluate.
-exit
Arrête le traitement à ce point.
Aucune autre option n'est traitée après cette option. Utile dans un script pour forcer la commande magick à se terminer sans réellement fermer le pipeline depuis lequel elle traite les options. Vous pouvez également utiliser cette option comme option finale sur la ligne de commande magick au lieu d'une image de sortie implicite, afin d'empêcher complètement toute écriture d'image. Notez que même le codeur NULL: nécessite au moins une image pour « ne pas écrire » ! Cette option ne nécessite aucune image du tout.
-extent geometry
Définit la taille et le décalage de l'image.
Si l'image est agrandie, les zones non remplies sont définies à la couleur d'arrière-plan. Pour positionner l'image, utilisez les décalages dans la spécification de géométrie ou faites-la précéder d'un réglage -gravity. Pour spécifier comment composer l'image avec l'arrière-plan, utilisez -compose.
La commande suivante réduit ou agrandit une image JPEG pour qu'elle tienne sur un affichage 800x600. Si le rapport d'aspect de l'image d'entrée n'est pas exactement 4:3, alors l'image est centrée sur un canevas noir 800x600 :
magick input.jpg -resize 800x600 -background black -compose Copy \
-gravity center -extent 800x600 -quality 92 output.jpg
La commande peut aussi être utilisée avec un ratio. Si l'image n'est pas déjà à ce ratio, elle sera rognée pour s'y conformer. Le réglage -gravity a les effets attendus.
La commande suivante rogne une image JPEG pour qu'elle ait un ratio 4:3 :
magick input.jpg -extent 4:3 -quality 92 output.jpg
Ajoutez < pour compléter (pad) uniquement si l'image est plus petite que la taille spécifiée et ne pas rogner si l'image est plus grande (c.-à-d. aucune opération). Ajoutez > pour rogner uniquement si l'image est plus grande que la taille spécifiée et ne pas étendre si l'image est plus petite (c.-à-d. aucune opération).
Voir Image Geometry pour tous les détails concernant l'argument geometry.
-extract geometry
Extrait la zone spécifiée de l'image.
Cette option est surtout utile pour extraire une sous-région d'une très grande image brute (raw). Notez que ces deux commandes sont équivalentes :
magick -size 16000x16000 -depth 8 -extract 640x480+1280+960 \
image.rgb image.png",
convert -size 16000x16000 -depth 8 'image.rgb[640x480+1280+960]' \
image.rgb image.png"
Si vous omettez les décalages, comme dans
magick -size 16000x16000 -depth 8 -extract 640x480 \
image.rgb image.png
l'image est plutôt redimensionnée aux dimensions spécifiées, équivalent à :
magick -size 16000x16000 -depth 8 -resize 640x480 image.rgb image.png
Voir Image Geometry pour tous les détails concernant l'argument geometry.
-family fontFamily
Définit une famille de police pour le texte.
Ce réglage suggère une famille de police qu'ImageMagick devrait essayer d'utiliser pour le rendu du texte. Si la famille peut être trouvée, elle est utilisée ; sinon, une police par défaut (par exemple « Arial ») ou une famille connue comme similaire est substituée (par exemple « Courier » pourrait être utilisée si « System » est demandée mais introuvable). Notez que la famille peut être une liste de polices de style CSS.
Pour d'autres réglages qui affectent les polices, voir les options -font, -pointsize, -stretch, -style et -weight.
-features distance
Affiche les caractéristiques de mesure de texture (matrice de cooccurrence) pour chaque canal de l'image dans chacune des quatre directions (horizontale, verticale, diagonales gauche et droite) pour la distance spécifiée.
Angular Second Moment Sum Entropy
Contrast Entropy
Correlation Difference Variance
Sum of Squares Variance Difference Entropy
Inverse Difference Moment Information Measure of Correlation 1
Sum Average Information Measure of Correlation 2
Sum Variance Maximum Correlation Coefficient
-fft
Implémente la transformée de Fourier discrète directe (DFT).
Cette option est nouvelle à partir d'ImageMagick 6.5.4-3 (et fonctionne désormais pour les utilisateurs Windows dans ImageMagick 6.6.0-9). Elle transforme une image du domaine normal (spatial) vers le domaine fréquentiel. Dans le domaine fréquentiel, une image est représentée comme une superposition d'ondes sinusoïdales complexes d'amplitudes variables. Les coordonnées x et y de l'image sont les fréquences possibles le long des directions x et y, respectivement, et les valeurs d'intensité des pixels sont des nombres complexes qui correspondent aux amplitudes des ondes sinusoïdales. Voir par exemple Fourier Transform, Discrete Fourier Transform et Fast Fourier Transform.
Un seul nom d'image est fourni en sortie pour cette option. Cependant, le résultat de sortie comportera deux composantes. Il s'agit soit d'une image à deux trames, soit de deux images distinctes, selon que le format d'image spécifié prend en charge ou non les images multi-trames. La raison pour laquelle nous obtenons un résultat de sortie double est que le domaine fréquentiel représente une image à l'aide de nombres complexes, qui ne peuvent pas être visualisés directement. Par conséquent, les valeurs complexes sont automagiquement séparées en une représentation d'image à deux composantes. La première composante est le module du nombre complexe et la seconde est la phase du nombre complexe. Voir par exemple Complex Numbers.
Les images de composantes module et phase doivent être spécifiées à l'aide de formats d'image qui ne limitent pas la couleur ni ne compressent l'image. Ainsi, MIFF, TIF, PFM, EXR et PNG sont les formats d'image recommandés à utiliser. Tous ces formats, sauf PNG, prennent en charge les images multi-trames. Ainsi par exemple,
magick image.png -fft fft_image.miff
génère une image de module sous la forme fft_image.miff[0] et une image de phase sous la forme fft_image.miff[1]. De même,
magick image.png -fft fft_image.png
génère une image de module sous la forme fft_image-0.png et une image de phase sous la forme fft_image-1.png. Si vous préférez cette représentation, vous pouvez forcer n'importe lequel des autres formats à produire deux images de sortie en incluant +adjoin après -fft sur la ligne de commande.
L'image d'entrée peut être de n'importe quelle taille, mais si elle n'est pas carrée et de dimensions paires, elle est complétée (padded) automagiquement à la plus grande des deux dimensions, largeur ou hauteur, de l'image d'entrée, et à un nombre pair de pixels. Le remplissage se produira en bas et/ou sur le côté droit de l'image d'entrée. Les images de module et de phase résultantes sont carrées à cette taille. Le type de remplissage dépend du réglage -virtual-pixel.
Les deux composantes de sortie auront des plages dynamiques qui tiennent dans [0, QuantumRange], de sorte que HDRI n'a pas besoin d'être activé. Les valeurs de phase vont nominalement de 0 à 2*π, mais sont mises à l'échelle pour couvrir toute la plage dynamique. (Les premières versions avaient le non-HDRI mis à l'échelle mais pas le HDRI). L'image de module n'est pas mise à l'échelle et contiendra donc généralement de très petites valeurs. De ce fait, l'image apparaîtra normalement totalement noire. Afin de visualiser le moindre détail, l'image de module est généralement rehaussée à l'aide d'une fonction log pour obtenir ce que l'on appelle habituellement le spectre. Une fonction log est utilisée pour rehausser davantage les valeurs sombres par rapport aux valeurs claires. Cela peut se faire, par exemple, comme suit :
magick fft_image.miff[0] -contrast-stretch 0 \
-evaluate log 1000 fft_image_spectrum.png"
où soit -contrast-stretch 0 soit -auto-level est utilisé pour mettre d'abord l'image à l'échelle de la plage dynamique complète. L'argument de -evaluate log est généralement spécifié entre 100 et 10 000, selon la quantité de détails que l'on souhaite faire ressortir dans le spectre. Des valeurs plus grandes produisent plus de détails visibles. Trop de détails, cependant, peut masquer les caractéristiques importantes.
La bibliothèque déléguée FFTW est requise pour utiliser -fft.
Utilisez +fft pour produire deux images de sortie qui sont les composantes réelle et imaginaire de la transformée de Fourier à valeurs complexes.
Cependant, comme les composantes réelle et imaginaire peuvent contenir des valeurs négatives, cela exige qu'IM soit configuré avec HDRI activé. Dans ce cas, vous devez utiliser soit les formats MIFF, TIF, PFM ou MPC pour les résultats des composantes réelle et imaginaire, car ce sont des formats qui préservent à la fois les valeurs négatives et fractionnaires sans les écrêter ni tronquer la partie fractionnaire. Avec MIFF ou TIF, il convient d'ajouter -define quantum:format=32, pour permettre à ces types d'image de fonctionner correctement en mode HDRI sans écrêtage.
Les images de composantes réelle et imaginaire résultant de +fft sont également carrées, de dimensions paires, en raison du même remplissage que celui décrit ci-dessus pour les images de composantes module et phase.
Voir la discussion sur les implémentations HDRI d'ImageMagick sur la page High Dynamic-Range Images. Pour en savoir plus sur HDRI, consultez les pages Usage d'ImageMagick, la page Fred's Fourier Processing With ImageMagick ou cette entrée Wikipedia.
Par défaut, la FFT est normalisée (et la IFT ne l'est pas). Utilisez "-define fourier:normalize=forward pour normaliser explicitement la FFT et dénormaliser la IFT.
-fill color
Couleur à utiliser pour remplir une primitive graphique.
Cette option accepte un nom de couleur, une couleur hexadécimale, ou une spécification numérique RGB, RGBA, HSL, HSLA, CMYK ou CMYKA. Voir Noms de couleurs pour une description de la manière de spécifier correctement l'argument de couleur.
Placez la spécification de couleur entre guillemets afin d'empêcher l'interprétation du caractère « # » ou des parenthèses par votre shell.
Par exemple,
-fill blue
-fill "#ddddff"
-fill "rgb(255,255,255)"
Voir -draw pour plus de détails.
Pour afficher la liste complète des noms de couleurs, utilisez l'option -list color.
-filter type
Utiliser ce type de filtre lors du redimensionnement ou de la distorsion d'une image.
Utilisez cette option pour agir sur l'opération de redimensionnement d'une image lors d'opérations telles que -resize et -distort. Par exemple, vous pouvez utiliser un filtre de redimensionnement simple tel que :
Point Hermite Cubic
Box Gaussian Catrom
Triangle Quadratic Mitchell
CubicSpline
Utilisez -define filter:lobes={2,3,4} pour spécifier la taille du support de filtrage pour le filtre CubicSpline.
Les filtres Bessel et Sinc sont également fournis (ainsi qu'une forme équivalente plus rapide SincFast). Cependant, ces filtres sont généralement inutiles en eux-mêmes car ce sont des filtres infinis que l'on tronque à la taille du support du filtre. Leur utilisation directe n'est pas recommandée, sauf via des réglages experts (voir ci-dessous).
À la place, ces fonctions de filtre spéciales sont généralement fenêtrées par une fonction de fenêtrage que définit le réglage -filter. Autrement dit, l'utilisation de ces fonctions définit un filtre « fenêtré » (Windowed), approprié à l'opérateur concerné. Les filtres fenêtrés incluent :
Lanczos Hamming Parzen
Blackman Kaiser Welsh
Hanning Bartlett Bohman
Un filtre auto-fenêtrant spécial est également fourni, Lagrange, qui réajuste automagiquement sa fonction en fonction des réglages experts « support » ou « lobes » courants (voir ci-dessous).
Si vous ne sélectionnez pas de filtre avec cette option, le filtre prend par défaut la valeur Mitchell pour une image à palette de couleurs, une image avec un canal de masque (matte), ou si l'image est agrandie. Dans les autres cas, le filtre prend par défaut la valeur Lanczos.
Pour afficher la liste complète des filtres de redimensionnement, utilisez l'option -list filter.
Vous pouvez modifier le comportement du filtre lorsqu'il met à l'échelle votre image grâce à ces réglages experts (voir aussi -define et -set) :-
| -define filter:blur=factor | Met à l'échelle l'axe X du filtre (et de sa fenêtre). Utilisez > 1.0 pour un effet flou ou < 1.0 pour un effet net. Cela ne devrait être utilisé qu'avec les filtres Gaussian et les filtres simples de type gaussien, sinon vous risquez de ne pas obtenir les résultats attendus. |
|---|---|
| -define filter:support=radius | Définit le rayon de support du filtre. Détermine la taille du filtre et donc directement la lenteur du processus de rééchantillonnage filtré. Tous les filtres ont une taille de support « préférée » par défaut. Certains filtres comme Lagrange et les filtres fenêtrés s'ajustent en fonction de cette valeur. Avec les filtres simples, cette valeur soit ne fait rien (sinon ralentir le rééchantillonnage), soit tronque la fonction de filtre de manière préjudiciable. |
| -define filter:lobes=count | Définit le nombre de lobes à utiliser pour le filtre Sinc/Bessel. C'est une autre manière de spécifier la plage de « support » du filtre, conçue pour être mieux adaptée aux filtres fenêtrés, en particulier lorsqu'ils sont utilisés pour des distorsions d'image. |
| -define filter:sigma=value | La valeur « sigma » utilisée pour définir le filtre Gaussian. La valeur sigma par défaut est « 0.5 ». Elle n'affecte que Gaussian mais ne réduit pas (mais peut agrandir) le « support » du filtre. Elle peut être utilisée pour générer de très petits flous sans que le filtre « rate » des pixels en raison de l'utilisation d'un petit réglage de support. Une valeur plus grande de « 0.707 » (une valeur de « 1/sqrt(2) ») est un autre réglage courant. |
| -define filter:b=b-spline_factor | |
| -define filter:c=keys_alpha_factor | Redéfinit les valeurs utilisées pour les filtres cubiques tels que Cubic, Catrom, Mitchel et Hermite, ainsi que la fonction de fenêtrage cubique Parzen. Si une seule des valeurs est définie, l'autre est réglée de manière à générer un filtre « Cubic-Keys ». La signification des valeurs a été définie par un article de recherche de Mitchell-Netravali. |
| -define filter:kaiser-beta=value | La valeur « alpha » utilisée dans le cadre de la fonction de fenêtrage Kaiser. La valeur par défaut est « 6.5 ». Elle n'affecte que la fonction de fenêtrage Kaiser et n'affecte aucun autre attribut. Avant ImageMagick v6.7.6-10, cette option était connue sous le nom de « filter:alpha » (un héritage du très ancien programme « zoom »). Elle a été modifiée pour aligner la fonction sur un usage de recherche académique plus moderne, et pour mieux la définir de façon plus précise. |
| -define filter:kaiser-alpha=value | Cette valeur, multipliée par « PI », est équivalente à « kaiser-beta » et remplacera ce réglage. Elle n'affecte que la fonction de fenêtrage Kaiser et n'affecte aucun autre attribut. |
| -define filter:filter=filter_function | Utilise cette fonction directement comme filtre de pondération. Cela vous permet d'utiliser directement une fonction de fenêtrage telle que Blackman comme filtre de rééchantillonnage, plutôt que selon son usage habituel de fonction de fenêtrage. Si elle est définie sans qu'aucune fonction de fenêtrage ne soit également définie, la fonction de fenêtre est réglée sur Box). Spécifier directement Sinc ou Jinc comme filtre aura également cet effet. |
| -define filter:window=filter_function | Les filtres IIR (réponse impulsionnelle infinie) Sinc et Jinc sont fenêtrés (ramenés à zéro sur la plage de support définie) avec le filtre donné. Cela vous permet de spécifier une fonction de filtre à utiliser comme fonction de fenêtrage pour ces filtres IIR. Beaucoup des filtres définis sont en réalité des fonctions de fenêtrage pour ces filtres IIR. Un choix typique est Box (qui désactive de fait la fonction de fenêtrage). |
| -define filter:win-support=radius | Met plutôt à l'échelle la fonction de fenêtrage à cette taille. Cela amène le fenêtrage (ou le filtre auto-fenêtrant Lagrange) à se comporter comme si la fenêtre de support était plus grande que ce qui est réellement fourni à l'opérateur appelant. Le filtre est toutefois toujours tronqué à la taille de support réelle donnée. S'il n'est pas défini, cela sera égal à la taille de support normale du filtre. |
| -define filter:verbose=1 | Cela amène IM à afficher des informations sur la sélection finale du filtre interne sur la sortie standard. Cela inclut un en-tête commenté sur les réglages de filtre utilisés, et des données permettant de tracer facilement les poids du filtre. Notez cependant que certains filtres sont définis en interne en fonction d'autres filtres. Le filtre Lanczos, par exemple, est défini comme un filtre SincFast fenêtré par SincFast, tandis que Mitchell est défini comme un filtre de la famille Cubic général avec des réglages « B » et « C » spécifiques. |
Par exemple, pour obtenir un filtre sinc fenêtré par jinc à 8 lobes (filtre Genseng ?) :
magick image.png \
-filter sinc \
-set filter:window=jinc \
-set filter:lobes=8 \
-resize 150% image.jpg"
Ou un filtre Sinc brut non fenêtré avec 4 lobes :
magick image.png \
-set filter:filter=sinc \
-set filter:lobes=4 \
-resize 150% image.jpg"
Pour extraire les données d'une fonction de fenêtrage brute, combinez-la avec un filtre « Box ». Par exemple, la fonction de fenêtrage parabolique « Welch ».
magick null: -define filter:filter=Box \
-define filter:window=Welch \
-define filter:support=1.0 \
-define filter:verbose=1 \
-resize 2 null: > window_welch.dat
gnuplot
set grid
plot \"window_welch.dat\" with lines
Notez que l'usage des options expertes est destiné aux experts du traitement d'image qui ont étudié et compris le fonctionnement des filtres de redimensionnement. Sans ces connaissances, et sans une compréhension de la définition des filtres réellement impliqués, l'utilisation des réglages experts risque davantage de nuire au redimensionnement de votre image.
-flatten
C'est un simple alias pour la méthode -layers « flatten ».
-flip
Créer une image en miroir
réfléchit les lignes de balayage dans la direction verticale. L'image sera reflétée à l'envers (de haut en bas).
-floodfill {+-}x{+-}y color
Remplir l'image par diffusion avec la couleur color à l'offset spécifié.
Le remplissage par diffusion (flood fill) part du « point d'amorce » (seed point) donné, qui n'est pas affecté par la gravité. Toute couleur correspondant à la distance de couleur -fuzz près de l'argument de couleur donné, et connectée à ce « point d'amorce », sera remplacée par la couleur -fill courante.
Notez que si le pixel au « point d'amorce » ne correspond pas lui-même à la couleur donnée (selon -fuzz), alors aucune action ne sera entreprise.
Cet opérateur fonctionne davantage comme l'option -opaque que comme un remplissage par diffusion plus général qui lirait directement la couleur correspondante au « point d'amorce ». Pour cette forme de remplissage par diffusion, regardez -draw et sa méthode de dessin « color floodfill ».
-flop
Créer une image en miroir.
Réfléchit les lignes de balayage dans la direction horizontale, exactement comme l'image dans un miroir vertical.
-font name
Définir la police à utiliser lors de l'annotation des images avec du texte, ou de la création d'étiquettes.
Pour afficher la liste complète des polices, utilisez l'option -list font (pour les versions antérieures à 6.3.6, utilisez « type » au lieu de « font »).
En plus des polices spécifiées par la liste prédéfinie ci-dessus, vous pouvez aussi spécifier une police provenant d'une source particulière. Par exemple Arial.ttf est un fichier de police TrueType, ps:helvetica est une police PostScript, et x:fixed est une police X11.
Pour les autres réglages qui affectent les polices, voir les options -family, -stretch, -style et -weight.
Pour spécifier un nom de fichier de police explicite ou une collection, indiquez le chemin de la police précédé d'un @, par exemple @arial.ttf. Vous pouvez spécifier l'index de la fonte pour les collections de polices, par exemple @msgothic.ttc[1].
-foreground color
Définir la couleur de premier plan des menus.", "display
La couleur est spécifiée à l'aide du format décrit sous l'option -fill.
La couleur de premier plan par défaut est le noir.
-format type
Le type de format d'image.
Lorsqu'elle est utilisée avec l'utilitaire mogrify, cette option convertit n'importe quelle image au format d'image que vous spécifiez. Pour une liste des types de format d'image pris en charge par ImageMagick, utilisez -list format.
Par défaut, le fichier est écrit sous son nom d'origine. Cependant, si l'extension du nom de fichier correspond à un format pris en charge, l'extension est remplacée par le type de format d'image spécifié avec -format. Par exemple, si vous spécifiez tiff comme type de format et que le nom de fichier de l'image d'entrée est image.gif, le nom de fichier de l'image de sortie devient image.tiff.
-format expression
Afficher les caractéristiques formatées de l'image.
Voir Formater et afficher les propriétés d'image pour une explication sur la manière de spécifier l'argument de cette option.
-frame geometry
Entourer l'image d'une bordure ou d'un cadre biseauté.
La couleur de la bordure est spécifiée avec l'option de ligne de commande -mattecolor.
Voir Géométrie d'image pour tous les détails concernant l'argument geometry. La partie taille de l'argument de géométrie indique la quantité de largeur et de hauteur supplémentaires ajoutée aux dimensions de l'image. Si aucun offset n'est donné dans l'argument de géométrie, alors la bordure ajoutée est de couleur unie. Les offsets x et y, s'ils sont présents, spécifient que la largeur et la hauteur de la bordure sont partitionnées pour former un biseau extérieur d'une épaisseur de x pixels et un biseau intérieur d'une épaisseur de y pixels. Des offsets négatifs n'ont aucun sens comme arguments de cadre.
L'option -frame est affectée par le réglage -compose courant et suppose que celui-ci utilise la méthode de composition « Over » par défaut. Elle génère une image de la taille appropriée avec le réglage -bordercolor courant, puis dessine le cadre de quatre couleurs distinctes proches de la valeur -mattecolor courante. L'image d'origine est ensuite superposée au centre de cette image. Cela signifie qu'avec la méthode de composition « Over » par défaut, toute partie transparente peut être remplacée par le réglage -bordercolor courant.
La composition de l'image n'est pas affectée par l'option -gravity.
-frame
Inclure le cadre de la fenêtre X dans l'image importée.
-function function parameters
Applique une fonction aux valeurs de canal.
Cet opérateur effectue des calculs basés sur les arguments donnés afin de modifier chacune des valeurs de couleur de chaque canal précédemment défini avec -channel dans l'image. Voir -evaluate pour des détails concernant la façon dont les résultats des calculs sont traités.
On peut considérer ceci comme une version à arguments multiples de l'opérateur -evaluate. (Ajouté dans ImageMagick 6.4.8−8.)
Ici, parameters est une liste de valeurs numériques séparées par des virgules. Le nombre de valeurs varie selon la fonction sélectionnée. Choisissez la fonction parmi :
Polynomial
Sinusoid
Arcsin
Arctan
Pour afficher une liste complète des opérateurs -function, utilisez -list function. Les descriptions suivent.
Polynomial
La fonction Polynomial prend un nombre arbitraire de paramètres, ceux-ci étant les coefficients d'un polynôme, dans l'ordre décroissant des degrés. Autrement dit, saisir
-function Polynomial an,an-1,...a1,a0
invoquera une fonction polynomiale donnée par
a_n u^n + a_(n-1) u^(n-1) + ··· a_1 u + a_0,
où u est la valeur de canal normalisée d'origine du pixel.
La fonction Polynomial peut être utilisée à la place de Set (le polynôme constant) et de Add, Divide, Multiply et Subtract (certains polynômes linéaires) de l'opérateur -evaluate. L'opérateur -level affecte également les canaux de façon linéaire. Voici quelques correspondances.
| -evaluate Set value | -function Polynomial value | (Fonctions constantes ; fixe un gris à value×100 % lorsque les canaux sont RGB.) |
|---|---|---|
| -evaluate Add value | -function Polynomial 1,value | |
| -evaluate Subtract value | -function Polynomial 1,−value | |
| -evaluate Multiply value | -function Polynomial value,0 | |
| +level black% x white% | -function Polynomial A,B | (Réduit le contraste. Ici, A=(white-black)/100 et B=black/100.) |
La fonction Polynomial offre une grande polyvalence, puisque les polynômes peuvent servir à ajuster n'importe quelle courbe continue avec le degré de précision souhaité.
Sinusoid
La fonction Sinusoid peut être utilisée pour faire varier les valeurs de canal de façon sinusoïdale en réglant la fréquence, le déphasage, l'amplitude et un biais. Ces valeurs sont données sous forme de un à quatre paramètres, comme suit,
-function Sinusoid freq,[phase,[amp,[bias]]]
où phase est exprimée en degrés. (Le domaine [0,1] de la fonction correspond à 0 jusqu'à freq×360 degrés.) Le résultat est que si la valeur de canal normalisée d'un pixel est à l'origine u, sa valeur normalisée résultante est donnée par
amp * sin(2*π* (freq * u + phase / 360)) + bias
Par exemple, ce qui suit génère une courbe qui commence et finit à 0,9 (lorsque u=0 et 1, respectivement), oscillant trois fois entre .7−.2=.5 et .7+.2=.9.
-function Sinusoid 3,-90,.2,.7
Les valeurs par défaut de amp et bias sont toutes deux de .5. La valeur par défaut de phase est 0.
La fonction Sinusoid généralise Sin et Cos de l'opérateur -evaluate en permettant de faire varier l'amplitude, la phase et le biais. La correspondance est la suivante.
| -evaluate Sin freq | -function Sinusoid freq,0 |
|---|---|
| -evaluate Cos freq | -function Sinusoid freq,90 |
ArcSin
La fonction ArcSin génère la courbe inverse d'une Sinusoid, et peut être utilisée pour générer des cartes de distorsion et de déplacement cylindriques. La courbe peut être ajustée par rapport à la fois aux valeurs d'entrée et à la plage de valeurs de sortie.
-function ArcSin width,[center,[range,[bias]]]
avec toutes les valeurs exprimées en termes de valeurs de couleur normalisées (0.0 pour le noir, 1.0 pour le blanc). Par défaut, les valeurs couvrent toute la plage de 0.0 à 1.0 pour les valeurs d'entrée (width) et de sortie (width). '1.0,0.5,1.0,0.5'
range/π * asin( 2/width * ( u - center ) ) + bias
ArcTan
La fonction ArcTan génère une courbe qui passe en douceur des valeurs limites aux infinis, en traversant un centre selon la valeur de pente donnée. Toutes ces valeurs peuvent être ajustées via les arguments.
-function ArcTan slope,[center,[range,[bias]]]
Par défaut '1.0,0.5,1.0,0.5'.
range/π * atan( slope*π * ( u - center ) ) + bias
-fuzz distance{%}
Les couleurs comprises dans cette distance sont considérées comme égales.
Un certain nombre d'algorithmes recherchent une couleur cible. Par défaut, la couleur doit être exacte. Utilisez cette option pour faire correspondre des couleurs proches de la couleur cible dans l'espace RGB. Par exemple, si vous voulez rogner automatiquement les bords d'une image avec -trim mais que l'image a été numérisée et que la couleur d'arrière-plan cible peut différer d'une petite quantité. Cette option peut tenir compte de ces différences.
La distance peut être exprimée en unités d'intensité absolues ou, en ajoutant %, en pourcentage de l'intensité maximale possible (255, 65535 ou 4294967295).
Utilisez +fuzz pour réinitialiser la valeur de fuzz à 0.
-fx expression
Applique une expression mathématique à une image ou à des canaux d'image.
Si le premier caractère de expression est @, l'expression est lue depuis un fichier dont le nom est constitué des caractères restants de la chaîne.
Voir FX, l'opérateur d'image à effets spéciaux pour une discussion détaillée de cette option.
-gamma value
Niveau de correction gamma.
La même image couleur affichée sur deux postes de travail différents peut paraître différente en raison des différences entre les moniteurs d'affichage. Utilisez la correction gamma pour ajuster cette différence de couleur. Des valeurs raisonnables s'étendent de 0,8 à 2,3. Un gamma inférieur à 1,0 assombrit l'image et un gamma supérieur à 1,0 l'éclaircit. De grands ajustements du gamma de l'image peuvent entraîner la perte d'une partie de l'information de l'image si la taille du quantum de pixel n'est que de huit bits (plage de quantum de 0 à 255).
Le gamma ajuste les valeurs de canal de l'image pixel par pixel selon une loi de puissance, à savoir pow(pixel,1/gamma) ou pixel^(1/gamma), où pixel est la valeur de couleur normalisée ou comprise entre 0 et 1. Par exemple, utiliser une valeur de gamma=2 revient à prendre la racine carrée de l'image.
Utilisez +gamma value pour définir le niveau de gamma de l'image sans réellement ajuster les pixels de l'image. Cette option est utile si l'image a un gamma connu mais qu'il n'est pas défini comme attribut d'image (par ex. les images PNG). Inscrivez le « gamma du fichier », qui est l'inverse du gamma d'affichage ; par ex., si votre image est en sRGB et que vous voulez écrire un chunk gAMA PNG, utilisez
magick input.png +gamma .45455 output.png
(0,45455 vaut 1/2,2)
Notez que les ajustements de gamma sont également disponibles via l'opérateur -level.
-gaussian-blur radius
-gaussian-blur radius{xsigma}
Floute l'image avec un opérateur gaussien.
Convolue l'image avec une distribution gaussienne ou normale en utilisant la valeur de Sigma donnée. La formule est :

La valeur de sigma est l'argument important, et détermine la quantité réelle de flou qui aura lieu.
Le radius n'est utilisé que pour déterminer la taille du tableau qui contiendra la distribution gaussienne calculée. Il doit s'agir d'un entier. S'il n'est pas donné, ou réglé à zéro, IM calculera le plus grand radius possible qui fournira des résultats significatifs pour la distribution gaussienne.
Plus le Radius est grand, plus l'opération est lente. Cependant, un Radius trop petit peut entraîner de sévères effets d'aliasing. À titre indicatif, le Radius doit être au moins le double de la valeur de Sigma, bien que le triple produise un résultat plus précis.
Ceci diffère de l'opérateur -blur plus rapide en ce qu'une convolution bidimensionnelle complète est utilisée pour générer la moyenne pondérée des pixels voisins.
Le réglage -virtual-pixel déterminera comment les pixels situés en dehors de l'image proprement dite sont mélangés dans le résultat final.
-geometry geometry
Définit la taille et l'emplacement préférés de l'image.
Voir Géométrie d'image pour tous les détails sur l'argument geometry.
-gravity type
Définit la suggestion de gravité actuelle pour divers autres réglages et options.
Les choix incluent : NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast. Utilisez -list gravity pour obtenir une liste complète des réglages de -gravity disponibles dans votre installation d'ImageMagick.
La direction que vous choisissez indique où positionner le texte ou les sous-images. Par exemple, une gravité de Center force le texte à être centré dans l'image. Par défaut, la gravité de l'image est indéfinie. Voir -draw pour plus de détails sur les primitives graphiques. Seule la primitive text de -draw est affectée par l'option -gravity.
L'option -gravity est également utilisée de concert avec le réglage -geometry et d'autres réglages ou options qui prennent une géométrie comme argument, tels que l'option -crop.
Si un réglage -gravity intervient avant une autre option ou un réglage ayant un argument de géométrie qui spécifie un décalage, le décalage est habituellement appliqué au point de l'image suggéré par l'argument -gravity. Ainsi, dans la commande suivante par exemple, supposons que le fichier image.png ait pour dimensions 200x100. Le décalage spécifié par l'argument de -region est (−40,+20). L'argument de -gravity est Center, qui suggère le point médian de l'image, au point (100,50). Le décalage (−40,20) est appliqué à ce point, donnant (100−40,50+20)=(60,70), de sorte que la région 10x10 spécifiée est située en ce point. (De plus, le -gravity affecte la région elle-même, qui est centrée sur la coordonnée de pixel (60,70). (Voir Géométrie d'image pour tous les détails sur l'argument geometry.)
magick image.png -gravity Center -region 10x10-40+20 \
-negate output.png
Lorsqu'elle est utilisée comme option pour composite, -gravity donne la direction dans laquelle l'image gravite au sein du composite.
Lorsqu'elle est utilisée comme option pour montage, -gravity donne la direction dans laquelle une image gravite au sein d'une tuile. La gravité par défaut est Center à cette fin.
Utilisez +gravity pour ramener la gravité à sa valeur par défaut.
-grayscale method
Convertit l'image en niveaux de gris.
Ceci utilisera l'une des méthodes -intensity pour convertir l'image donnée en une image en niveaux de gris.
Par exemple, pour convertir une image en niveaux de gris Rec709Luminance (linéaire), tapez :
magick in.png -grayscale Rec709Luminance out.png
ce qui équivaut à :
magick in.png -colorspace LinearGray out.png
De même, pour convertir une image en niveaux de gris Rec709Luma (non linéaire), tapez :
magick in.png -grayscale Rec709Luma out.png
ce qui équivaut à :
magick in.png -colorspace Gray out.png
Notez qu'une méthode d'intensité « colorspace » produira le même résultat quel que soit l'espace colorimétrique actuel de l'image. Mais une méthode d'intensité « mathematical » dépend de l'espace colorimétrique que l'image utilise actuellement.
Bien que cette opération utilise une méthode -intensity, elle n'utilise ni ne définit le réglage -intensity, et n'affectera donc pas d'autres opérations susceptibles d'utiliser ce réglage.
-green-primary x,y
Point primaire de chromaticité du vert.
-hald-clut
Applique une table de correspondance de couleurs Hald à l'image.
Une table de correspondance de couleurs Hald est un cube de couleurs tridimensionnel mappé sur deux dimensions. Créez-la avec le préfixe HALD: (par ex. HALD:8). Vous pouvez appliquer n'importe quelle transformation de couleur à l'image Hald, puis utiliser cette option pour appliquer la transformation à l'image.
magick image.png hald.png -hald-clut transform.png
Cette option offre une méthode pratique pour utiliser Gimp ou Photoshop afin d'apporter des corrections de couleur à l'image Hald CLUT, puis de les appliquer à plusieurs images au moyen d'un script ImageMagick.
Notez que la représentation ne concerne que l'espace de couleur RGB normal et que le triplet complet de valeurs de couleur est utilisé pour la recherche interpolée de l'image du cube de couleurs Hald représenté. De ce fait, l'opération n'est pas affectée par le réglage -channel, et ne peut pas non plus ajuster ou modifier la transparence ou le canal alpha/matte d'une image.
Voir aussi -clut qui assure le remplacement des valeurs de couleur des canaux de couleur individuels, impliquant généralement une image en niveaux de gris plus simple. Par ex. : remplacement de niveaux de gris par de la couleur, ou modification par un mappage d'histogramme.
-help
Affiche les instructions d'utilisation.
-highlight-color color
Lors de la comparaison d'images, met en évidence les différences de pixels avec cette couleur.
-hough-lines widthxheight{+threshold}
Identifie les lignes droites dans l'image (par ex. -hough-lines 9x9+195).
Utilisez le détecteur de lignes de Hough avec toute image binaire dont les contours ont été extraits afin de localiser et de tracer toutes les lignes droites qu'il trouve.
Le processus accumule des comptes pour chaque pixel blanc de l'image binaire de contours, pour chaque orientation possible (pour les angles de 0 à 179 par incréments de 1 deg) et chaque distance du centre de l'image jusqu'aux coins (par incréments de 1 px). Il stocke les comptes dans une matrice accumulateur d'angle versus distance. La taille de l'accumulateur sera de 180x(diagonale/2). Ensuite, il recherche dans l'accumulateur les pics de comptes et convertit les emplacements des pics en pente et ordonnée à l'origine dans l'espace image normal d'entrée x,y. L'algorithme utilise les pentes/ordonnées à l'origine pour trouver les extrémités découpées aux limites de l'image. Les lignes sont tracées à partir des extrémités données. Les comptes sont une mesure de la longueur des lignes.
.
Les arguments WxH spécifient la taille du filtre pour localiser les pics dans l'accumulateur de Hough. Le threshold exclut les lignes dont les comptes sont inférieurs à la valeur de seuil.
Utilisez -background pour spécifier la couleur de l'arrière-plan sur lequel les lignes seront tracées. Le défaut est le noir.
Utilisez -fill pour spécifier la couleur des lignes. Le défaut est le noir.
Utilisez -stroke et -strokewidth pour spécifier l'épaisseur des lignes. Le défaut est le noir et aucune épaisseur de trait.
Un fichier texte listant les extrémités et les comptes peut être créé en utilisant le suffixe .mvg pour l'image de sortie.
Utilisez -define hough-lines:accumulator=true pour retourner l'image de l'accumulateur en plus de l'image des lignes.
-iconGeometry geometry
Spécifie la géométrie de l'icône.
Les décalages, s'ils sont présents dans la spécification de géométrie, sont gérés de la même manière que pour l'option -geometry, en utilisant le style X11 pour gérer les décalages négatifs.
Voir Géométrie d'image pour tous les détails sur l'argument geometry.
-iconic
Démarre en mode icône sous X Windows", 'animate', 'display
-identify
Identifie le format et les caractéristiques de l'image.
Ces informations sont affichées par défaut :
- numéro de scène de l'image (s'il n'est pas zéro)
- nom de l'image
- format de l'image
- taille de l'image
- décalage de page virtuelle
- profondeur de couleur
- espace colorimétrique
- taille du fichier en octets
- temps utilisateur consommé pour identifier l'image
- temps écoulé pour identifier l'image
Pour personnaliser les attributs que vous souhaitez identifier, utilisez -format.
Si -colors est également spécifié, le nombre total de couleurs uniques dans l'image et les valeurs d'erreur de réduction de couleur sont affichés. Reportez-vous à l'algorithme de réduction de couleur pour une description de ces valeurs.
Si -verbose précède cette option, une quantité abondante de propriétés d'image est affichée, y compris les statistiques de l'image, les profils, l'histogramme de l'image, et d'autres.
-ift
Implémente la transformée de Fourier discrète (DFT) inverse.
Cette option est nouvelle depuis ImageMagick 6.5.4-3 (et fonctionne désormais pour les utilisateurs Windows dans ImageMagick 6.6.0-9). Elle transforme une paire d'images de magnitude et de phase du domaine fréquentiel en une seule image dans le domaine normal ou spatial. Voir par exemple, Transformée de Fourier, Transformée de Fourier discrète et Transformée de Fourier rapide.
Par exemple, selon le format d'image utilisé pour stocker le résultat de la -fft, on utiliserait soit
magick fft_image.miff -ift fft_image_ift.png
soit
magick fft_image-0.png fft_image-1.png -ift fft_image_ift.png
L'image résultante peut nécessiter un rognage en raison du remplissage introduit lorsque l'image originale, avant la -fft ou +fft, n'était pas carrée ou de dimensions paires. Tout remplissage se situe sur les côtés droit et/ou inférieur de l'image.
La bibliothèque de délégation FFTW est requise pour utiliser -ift.
Utilisez +ift (avec HDRI activé) pour transformer une paire d'images réelles et imaginaires du domaine fréquentiel en une seule image dans le domaine normal (spatial).
Par défaut, l'IFT n'est pas normalisée (et la FFT l'est). Utilisez "-define fourier:normalize=inverse pour normaliser explicitement l'IFT et dénormaliser la FFT.
-illuminant method
illuminant de référence. Choisissez parmi A, B, C, D50, D55, D65, E, F2, F7, ou F11.
-immutable
Rend l'image immuable.
-implode factor
Implose les pixels de l'image autour du centre.
-insert index
Insère la dernière image dans la séquence d'images.
Cette option prend la dernière image de la séquence d'images actuelle et l'insère à l'index donné. Si un index négatif est utilisé, la position d'insertion est calculée avant que la dernière image soit retirée de la séquence. Ainsi, -insert -1 n'entraînera aucune modification de la séquence d'images.
L'option +insert est équivalente à -insert -1. Autrement dit, insérer la dernière image, à la fin de la séquence d'images actuelle. Par conséquent, cela n'a aucun effet sur l'ordre de la séquence d'images.
-intensity method
Méthode pour générer une valeur d'intensité à partir d'un pixel.
ImageMagick fournit un certain nombre de méthodes utilisées dans les situations où un opérateur doit déterminer une valeur unique en niveaux de gris à des fins diverses, à partir d'une image comportant des composantes de pixel rouge, verte et bleue. Typiquement, la formule Rec709Luma est utilisée, qui est la même formule employée lors de la conversion des images vers -colorspace gray.
Les formules suivantes sont actuellement fournies, et convertiront d'abord les valeurs de pixel vers l'espace colorimétrique linear-RGB ou non-linéaire sRGB avant d'être appliquées pour calculer la valeur finale en niveaux de gris.
- Rec601Luma
- 0.298839R' + 0.586811G'+ 0.114350B'
- Rec601Luminance
- 0.298839R + 0.586811G + 0.114350B
- Rec709Luma
- 0.212656R' + 0.715158G' + 0.072186B'
- Rec709Luminance
- 0.212656R + 0.715158G + 0.072186B
- Brightness
- max(R', G', B')
- Lightness
- (min(R', G', B') + max(R', G', B')) / 2.0
Notez que les valeurs R,G,B ci-dessus sont les valeurs linear-RGB de l'image, tandis que R',G',B' sont des valeurs sRGB non-linéaires.
Ces méthodes d'intensité sont de nature mathématique et utiliseront la valeur actuelle dans le canal R,G,B respectif des images, quelle qu'elle soit, ou quel que soit l'espace colorimétrique que l'image utilise actuellement.
- Average
- (R' + G' + B') / 3.0
- MS
- (R'^2 + G'^2 + B'^2) / 3.0
- RMS
- sqrt( (R'^2 + G'^2 + B'^2) / 3.0 )
Ces méthodes sont souvent utilisées à d'autres fins, telles que la génération d'une image de différence en niveaux de gris entre deux images couleur (en utilisant la composition -compose 'Difference'.
Par exemple, le réglage 'MS' (Mean Squared) est bon pour minimiser les comparaisons d'erreur de couleur. Tandis que... La méthode 'RMS' (Root Mean Squared) par exemple est appropriée pour calculer la distance de vecteur de couleur, à partir d'une image de différence de couleur. Ceci est équivalent à la composante couleur uniquement du réglage de comparaison de couleur du facteur -fuzz.
Voir aussi -grayscale qui applique l'une des formules de mise en niveaux de gris ci-dessus directement à une image sans définir le réglage -intensity.
La conversion d'image -colorspace gray utilise également le réglage d'intensité actuel, mais convertira toujours l'image vers l'espace colorimétrique sRGB ou linear-RGB approprié avant d'appliquer la fonction ci-dessus.
Pour imprimer une liste complète des méthodes de réglage d'intensité de pixel possibles, utilisez -list intensity.
Les opérateurs affectés par le réglage -intensity incluent :
-adaptive-blur
-adaptive-sharpen
-black-threshold
-clut (lors du mappage d'une image CLUT en niveaux de gris vers le canal alpha si défini par -channels)
-colors pour l'espace colorimétrique gray
-compose {LightenIntensity, DarkenIntensity, CopyOpacity, CopyBlack}
-contrast-stretch
-distort {ErodeIntensity, DilateIntensity}
-normalize
-random-threshold
-range-threshold
-selective-blur
-shade
-threshold
-tint
-white-threshold
-intent type
Utilise ce type d'intention de rendu lors de la gestion de la couleur de l'image.
Utilisez cette option pour affecter l'opération de gestion des couleurs d'une image (voir -profile). Choisissez parmi ces intentions : Absolute, Perceptual, Relative, Saturation.
L'intention par défaut est Perceptual pour l'espace colorimétrique sRGB et undefined pour les espaces colorimétriques RGB et gray.
Pour imprimer une liste complète des intentions de rendu, utilisez -list intent.
-interlace type
Le type de schéma d'entrelacement.
Choisissez parmi :
none
line
plane
partition
JPEG
GIF
PNG
Cette option est utilisée pour spécifier le type de schéma d'entrelacement pour les formats d'image bruts tels que RGB ou YUV.
None signifie ne pas entrelacer (RGBRGBRGBRGBRGBRGB...),
Line utilise l'entrelacement par ligne de balayage (RRR...GGG...BBB...RRR...GGG...BBB...), et.
Plane utilise l'entrelacement par plan (RRRRRR...GGGGGG...BBBBBB...).
Partition est comme plane sauf que les différents plans sont enregistrés dans des fichiers individuels (par ex. image.R, image.G, et image.B).
Utilisez Line ou Plane pour créer une image PNG ou GIF entrelacée ou une image JPEG progressive.
Pour imprimer une liste complète des schémas d'entrelacement, utilisez -list interlace.
-interline-spacing value
L'espace entre deux lignes de texte.
-interpolate type
Définit la méthode d'interpolation de la couleur des pixels à utiliser lors de la recherche d'une couleur basée sur une valeur en virgule flottante ou réelle.
Lors de la recherche de la couleur d'un pixel à l'aide d'une valeur en virgule flottante non entière, vous vous situez généralement entre les couleurs de pixel définies par l'image source. Ce réglage détermine comment la couleur est déterminée à partir des couleurs des pixels entourant ce point. C'est-à-dire comment déterminer la couleur d'un point qui se situe entre deux, voire quatre pixels de couleurs différentes.
- average
- La couleur moyenne des quatre pixels environnants
- average4
- La couleur moyenne des quatre pixels environnants
- average9
- La couleur moyenne des neuf pixels environnants
- average16
- La couleur moyenne des seize pixels environnants
background
- bilinear
- Une double interpolation linéaire des pixels (la valeur par défaut)
blend
- catrom
- Splines bicubiques ajustées des 16 pixels environnants
- integer
- La couleur du pixel en haut à gauche (fonction plancher)
- mesh
- Divise la zone en deux interpolations triangulaires plates
- nearest-neighbor
- Le pixel le plus proche du point de recherche (fonction arrondi)
- spline
- Courbes splines directes (les couleurs sont floutées)
Ceci est le plus important pour les opérateurs de distorsion tels que -distort, -implode, -transform et -fx.
Pour imprimer une liste complète des méthodes d'interpolation, utilisez -list interpolate.
Voir aussi -virtual-pixel, pour le contrôle de la recherche des positions en dehors des limites de l'image.
-interpolative-resize geometry
Redimensionne avec interpolation. Voir le réglage -interpolate.
-interword-spacing value
L'espace entre deux mots.
-integral
Calcule la somme des valeurs (valeurs de pixel) dans l'image.
-kerning value
L'espace entre deux lettres.
-kmeans colors{xiterations}{+tolerance}
Réduction de couleurs Kmeans (itérative) (par ex. -kmeans 5x300+0.0001). Colors est le nombre souhaité de couleurs. Les couleurs initiales sont trouvées par quantification des couleurs. Iterations est le nombre d'itérations d'arrêt (par défaut=300). Convergence est le seuil d'arrêt sur le changement de couleur entre les itérations (par défaut=0.0001). Le traitement se termine si soit les itérations soit la tolérance sont atteintes. Utilisez -define kmeans:seed-colors=color-list pour initialiser les couleurs, où color-list est une liste de couleurs de départ délimitée par des points-virgules (par ex. -define kmeans:seed-colors="red;sRGB(19,167,254);#00ffff). Une liste de couleurs remplace la quantification des couleurs. Une liste de couleurs non vide remplace le nombre de couleurs. Toutes les couleurs initiales non attribuées se voient attribuer des couleurs aléatoires de l'image.
-kuwahara radius
-kuwahara radius{xsigma}
Filtre de réduction de bruit préservant les contours.
Le radius est plus important que le sigma. Si sigma est omis, il sera calculé automatiquement à partir du radius selon sigma=radius-0.5. Le sigma fournit un peu de contrôle de lissage supplémentaire.
-label name
Attribue une étiquette à une image.
Utilisez cette option pour attribuer une étiquette spécifique à l'image, telle qu'elle est lue ou créée. Vous pouvez utiliser l'opération -set pour réattribuer les étiquettes des images déjà lues. Les formats d'image tels que TIFF, PNG, MIFF, prennent en charge l'enregistrement des informations d'étiquette avec l'image.
Lors de l'enregistrement d'une image dans un fichier PostScript, toute étiquette attribuée à une image est utilisée comme chaîne d'en-tête à imprimer au-dessus de l'image postscript.
Vous pouvez inclure le nom de fichier de l'image, le type, la largeur, la hauteur, ou d'autres attributs d'image en intégrant un caractère de format spécial. Voir Format et impression des propriétés d'image pour les détails des codes d'échappement pourcentage.
Par exemple,
-label "%m:%f %wx%h" bird.miff
attribue une étiquette d'image MIFF:bird.miff 512x480 à l'image "bird.miff" dont la largeur est 512 et la hauteur est 480, telle qu'elle est lue. Si une option +label avait été utilisée à la place, toute étiquette existante présente dans l'image aurait été utilisée. Vous pouvez supprimer toutes les étiquettes d'une image en attribuant la chaîne vide.
Une étiquette n'est pas dessinée sur l'image, mais est intégrée dans le flux de données de l'image via une balise Label ou un mécanisme similaire. Si vous voulez que l'étiquette soit visible sur l'image elle-même, utilisez l'option -draw, ou lors du traitement final dans la création d'un montage d'image.
Si le premier caractère de la chaîne est @, l'étiquette de l'image est lue à partir d'un fichier dont le titre est composé des caractères restants de la chaîne. Les étiquettes dans un fichier sont littérales, aucun caractère de formatage intégré n'est reconnu.
-lat width
-lat widthxheight{+-}offset{%}
Effectue un seuillage adaptatif local.
Applique un seuil de manière adaptative à chaque pixel en fonction de la valeur des pixels dans une fenêtre environnante. Si le pixel actuel est plus clair que cette moyenne plus l'offset optionnel, alors il est rendu blanc, sinon il est rendu noir. Les petites variations de valeurs de pixel telles que celles trouvées dans les documents numérisés peuvent être ignorées si l'offset est positif. Un offset négatif le rendra plus sensible à ces petites variations.
Ceci est couramment utilisé pour seuiller des images avec un arrière-plan irrégulier. Cela repose sur l'hypothèse que la couleur moyenne de la petite fenêtre est la couleur d'arrière-plan locale, à partir de laquelle séparer la couleur de premier plan.
-layers method
Gère plusieurs images formant un ensemble de calques d'image ou d'images d'animation.
Applique diverses méthodes d'opération sur images à une séquence ordonnée d'images pouvant représenter soit un ensemble de « calques d'image » superposés, soit une animation GIF avec gestion de l'élimination (disposal), soit une séquence d'animation entièrement « fusionnée » (coalesced).
| Méthode | Description |
|---|---|
| compare-any | Rogne la deuxième image et les suivantes au plus petit rectangle contenant toutes les différences entre les deux images. Aucune méthode GIF -dispose n'est prise en compte. |
| Ceci est exactement identique à l'opérateur -deconstruct, et ne préserve pas le fonctionnement normal des animations, en particulier lorsque l'animation utilise des méthodes d'élimination de calque telles que « Previous » ou « Background ». | |
| compare-clear | Comme « compare-any » mais rogne aux limites des pixels opaques qui deviennent transparents dans la deuxième image. C'est-à-dire la plus petite image nécessaire pour masquer ou effacer les pixels en vue de l'image suivante. |
| compare-overlay | Comme « compare-any » mais rogne aux pixels qui ajoutent une couleur supplémentaire à l'image suivante, du fait de la superposition de pixels colorés. C'est-à-dire la plus petite image superposée unique permettant d'ajouter ou de modifier des couleurs. |
| Ceci peut être utilisé avec la méthode de composition alpha -compose « change-mask », pour réduire l'image aux seuls pixels qui doivent être superposés. | |
| coalesce | Équivalent à un appel de l'opérateur -coalesce. Applique les méthodes d'élimination de calque définies dans la séquence d'images courante afin de former une séquence d'animation entièrement définie, telle qu'elle doit être affichée. Convertit effectivement une animation GIF en une animation de type « bande de film ». |
| composite | Composition alpha de deux listes d'images, séparées par une image « null: », avec la liste d'images de destination en premier et les images source en dernier. Une image de chaque liste est composée ensemble jusqu'à ce que l'une des listes soit épuisée. L'image séparatrice et les listes d'images source sont supprimées. |
| Le décalage -geometry est ajusté selon -gravity conformément à la taille du canevas virtuel de la première image de chaque liste. Contrairement à une opération -composite normale, le décalage de canevas est également ajouté au positionnement final de composition de chaque image. | |
| Si l'une des listes d'images ne contient qu'une seule image, cette image est appliquée à toutes les images de l'autre liste, quelle que soit la liste concernée. Dans ce cas, ce sont les métadonnées d'image de la liste qui sont préservées. | |
| dispose | Comme « coalesce » mais montre l'aspect de l'animation après l'application de la méthode d'élimination de calque, avant que l'image de la sous-image suivante ne soit superposée. C'est-à-dire l'image « dispose » qui résulte de l'application de la méthode GIF -dispose. Cela vous permet de vérifier ce qui ne va pas dans une animation particulière que vous développez. |
| flatten | Crée un canevas de la taille du canevas virtuel de la première image en utilisant la couleur -background courante, et applique -compose à chaque image tour à tour sur ce canevas. Les images débordant de ce canevas sont rognées. L'image finale aura un décalage de canevas virtuel nul. |
| Ceci est généralement utilisé comme l'une des opérations finales de « superposition de calques » fusionnant tous les calques d'image préparés en une image finale. | |
| Pour une seule image, cette méthode peut aussi être utilisée pour remplir un canevas virtuel avec de vrais pixels, ou pour placer une couleur opaque en arrière-plan afin de supprimer la transparence d'une image. | |
| merge | Comme la méthode « flatten » mais en fusionnant tous les calques d'image fournis pour créer une nouvelle image de calque juste assez grande pour contenir toute l'image sans rognage ni espace supplémentaire. Le décalage virtuel de la nouvelle image préservera la position du nouveau calque, même si ce décalage est négatif. La taille du canevas virtuel de la première image est préservée. |
| La prudence est recommandée lors de la manipulation de calques d'image avec des décalages négatifs, car peu de formats de fichiers image les gèrent correctement. Faire suivre cette méthode d'opération de +repage supprimera le décalage de calque et créera une image dans laquelle toutes les positions des images superposées les unes par rapport aux autres sont préservées, sans toutefois nécessairement être exactement là où vous les aviez spécifiées. | |
| Voir aussi « trim-bounds » ci-dessous qui est étroitement lié mais sans effectuer le « flatten » pour fusionner les images ensemble. | |
| mosaic | Comme la méthode « flatten » mais en agrandissant la taille initiale du canevas de la première image dans une direction positive uniquement, de manière à contenir tous les calques d'image. Cependant, comme un canevas virtuel est « verrouillé » à l'origine, par sa propre définition, les calques d'image avec un décalage négatif seront tout de même rognés par les bords supérieur et gauche. Voir « merge » ou « trim-bounds » si cela pose problème. |
| Cette méthode est couramment utilisée pour disposer des images individuelles à l'aide de divers décalages mais sans connaître la taille finale du canevas. L'image résultante n'aura, comme « flatten », aucun décalage virtuel, et peut donc être enregistrée dans n'importe quel format de fichier image. | |
| optimize | Optimise une animation fusionnée (coalesced) en animation GIF en utilisant un certain nombre de techniques générales. Il s'agit actuellement d'un raccourci pour appliquer à la fois les méthodes « optimize-frame » et « optimize-transparency », mais cela pourra être étendu pour inclure d'autres méthodes d'optimisation à mesure qu'elles seront développées. |
| optimize-frame | Optimise une animation fusionnée (coalesced) en animation GIF en réduisant autant que possible le nombre de pixels par image, en tentant de choisir la meilleure méthode d'élimination de calque à utiliser, tout en garantissant que le résultat continue de s'animer correctement. |
| Il n'y a aucune garantie que la meilleure optimisation soit trouvée. Mais aucun algorithme d'optimisation GIF raisonnablement rapide ne peut le faire. Cependant, cela semble faire mieux que la plupart des autres optimiseurs d'images GIF connus. | |
| optimize-plus | Comme « optimize-frame » mais en tentant d'améliorer l'optimisation globale par l'ajout d'images supplémentaires à l'animation, sans modifier l'aspect final ni le rythme de l'animation. Les images sont ajoutées pour tenter de séparer l'effacement des pixels de la superposition de nouveaux pixels additionnels d'une image d'animation à la suivante. Si cela n'améliore pas l'optimisation (pour l'image suivante uniquement), il reviendra aux résultats de la technique « optimize-frame » normale précédente. |
| Il est possible que le changement de style d'élimination entraîne une dégradation de l'optimisation des images ultérieures, bien que cela soit peu probable. En d'autres termes, il n'y a aucune garantie que ce soit mieux que la technique « optimize-frame » normale. Pour certaines animations, vous pouvez cependant obtenir une amélioration considérable de la taille finale de l'animation. | |
| optimize-transparency | Pour une animation GIF donnée, remplace tout pixel des images de superposition de sous-image par de la transparence, s'il ne modifie pas l'animation résultante de plus que le facteur -fuzz courant. |
| Cela devrait permettre à une animation GIF déjà optimisée par image de se compresser en un fichier de taille plus réduite, grâce à des zones plus grandes d'une seule couleur (transparente) plutôt qu'un motif de plusieurs couleurs répétant l'image éliminée courante de la dernière image. | |
| remove-dups | Supprime (et fusionne les délais temporels) les images consécutives en double, afin de simplifier les superpositions de calques des animations fusionnées (coalesced). |
| C'est généralement le résultat de l'utilisation d'un délai temporel constant sur l'ensemble de l'animation, ou consécutif au découpage d'une animation plus grande en sous-animations plus petites. Les images en double peuvent aussi avoir été utilisées dans le cadre de certaines méthodes d'optimisation d'images. | |
| remove-zero | Supprime toute image avec un délai temporel nul, à moins que TOUTES les images aient un délai temporel nul (et qu'il ne s'agisse pas d'une animation correctement minutée, auquel cas un avertissement est alors émis). |
| Dans une animation GIF, de telles images sont généralement des images fournissant des mises à jour intermédiaires partielles entre les images réellement affichées aux utilisateurs. Ces images sont habituellement ajoutées pour améliorer l'optimisation des images dans les animations GIF. | |
| trim-bounds | Trouve les limites de toutes les images de la séquence d'images courante, puis ajuste les décalages de sorte que toutes les images soient contenues sur un canevas positif minimal. Aucune des données d'image n'est modifiée ni fusionnée, seuls la taille et le décalage du canevas virtuel de chaque image le sont. Toutes les images reçoivent la même taille de canevas, et auront un décalage positif, mais resteront dans la même position les unes par rapport aux autres. En conséquence de la taille de canevas minimale, au moins une image touchera chaque bord de ce canevas. Les données d'image touchant ces bords peuvent toutefois être transparentes. |
| Le résultat ressemble beaucoup à ce que vous obtiendriez en utilisant « merge » suivi d'une option +repage, sauf que toutes les images ont été conservées séparées. Si « flatten » est utilisé après « trim-bounds », vous obtiendrez le même résultat. |
Pour afficher une liste complète des types de calques, utilisez -list layers.
Les opérateurs -coalesce, -deconstruct, -flatten et -mosaic ne sont que des alias des méthodes ci-dessus et pourront être dépréciés à l'avenir. Voir aussi les opérateurs -page, -repage, le réglage -compose, ainsi que les réglages GIF -dispose et -delay.
-level black_point{,white_point}{%}{,gamma}
Ajuste le niveau des canaux de l'image.
Étant donné une, deux ou trois valeurs délimitées par des virgules : point noir, point blanc, gamma (par exemple : 10,250,1.0 ou 2%,98%,0.5). Les points noir et blanc vont de 0 à QuantumRange, ou de 0 à 100 % ; si le point blanc est omis, il est défini à (QuantumRange - black_point), de manière à centrer les changements de contraste. Si un signe % est présent n'importe où dans la chaîne, les points noir et blanc sont tous deux des pourcentages de la plage de couleurs complète. Gamma effectuera un ajustement -gamma des valeurs. S'il est omis, la valeur par défaut de 1.0 (aucune correction gamma) est supposée.
En usage normal (-level), les valeurs de l'image sont étirées de sorte que la valeur « black_point » donnée dans l'image originale soit fixée à zéro (ou noir), tandis que la valeur « white_point » donnée soit fixée à QuantumRange (ou blanc). Cela vous fournit des ajustements de contraste directs sur l'image. Le « gamma » de l'image résultante sera ensuite ajusté.
À partir d'ImageMagick v6.4.1-9, l'utilisation de la forme plus de l'opérateur (+level) ou l'ajout du drapeau spécial « ! » n'importe où dans la liste d'arguments, fera effectuer à l'opérateur l'inverse de l'ajustement de niveau. C'est-à-dire qu'une valeur de zéro, ou QuantumRange (respectivement noir et blanc) dans l'image originale, est ajustée aux valeurs de niveau données, vous permettant de réduire le contraste, ou de compresser les valeurs de canal au sein de l'image. Le « gamma » est ajusté avant l'ajustement de niveau qui réduit le contraste de l'image.
Seuls les canaux définis par le réglage -channel courant sont ajustés (par défaut, seuls les canaux de couleur RVB), ce qui vous permet de limiter l'effet de cet opérateur.
Veuillez noter que le canal de transparence est traité comme des valeurs « matte » (0 est opaque) et non comme des valeurs « alpha » (0 est transparent).
-level-colors {black_color}{,}{white_color}
Ajuste le niveau d'une image à l'aide des couleurs fournies séparées par un tiret.
Cette fonction est exactement comme -level, sauf que la valeur de chaque canal de couleur est déterminée par les couleurs « black_color » et « white_color » fournies (comme décrit sous l'option -fill).
Cela signifie concrètement que les couleurs fournies à -level-colors sont mappées pour devenir respectivement « noir » et « blanc », toutes les autres couleurs étant ajustées (ou écrêtées) linéairement pour correspondre à ce changement. Chaque canal est ajusté séparément en utilisant les valeurs de canal des couleurs spécifiées.
En revanche, la forme plus de l'opérateur (+level-colors) mappera les couleurs d'image « noir » et « blanc » respectivement aux couleurs données, produisant une teinte en dégradé (réduisant le contraste) de l'image vers ces couleurs. Cela peut aussi être utilisé pour convertir une simple image en niveaux de gris en une image utilisant le dégradé de couleurs spécifié.
En fournissant une seule couleur avec un séparateur virgule placé avant ou après cette couleur, on remplacera simplement le point « noir » ou « blanc » respectif. Mais si aucun séparateur virgule n'est fourni, la couleur donnée est utilisée pour les points de couleur noir et blanc à la fois, faisant que l'opérateur applique soit un seuillage des images autour de cette couleur (forme -), soit fixe toutes les couleurs à cette couleur (forme +).
-limit type value
Définit la limite de ressource du cache de pixels.
Choisissez parmi : width, height, area, memory, map, disk, file, thread, throttle ou time.
La valeur de file s'exprime en nombre de fichiers. Les autres limites s'expriment en octets. Définissez les arguments des limites de ressource memory, map, area et disk avec des préfixes SI (par ex. 100MB).
Par défaut, les limites sont de 768 fichiers, 3 Go de surface d'image, 1,5 Gio de mémoire, 3 Gio de carte mémoire et 18,45 Eo de disque. Ces limites sont ajustées en fonction des ressources disponibles sur votre ordinateur si cette information est disponible. Lorsqu'une limite est atteinte, ImageMagick échoue d'une manière ou d'une autre mais tente de prendre des mesures compensatoires, si possible. Par exemple, ce qui suit limite la mémoire :
-limit memory 32MiB -limit map 64MiB
Utilisez -list resource pour lister les limites actuelles. Par exemple, notre système affiche ces limites :
-> identify -list resource
Resource limits:
Width: 100MP
Height: 100MP
Area: 25.181GB
Memory: 11.726GiB
Map: 23.452GiB
Disk: unlimited
File: 768
Thread: 12
Throttle: 0
Time: unlimited
Les demandes de stockage de pixels destinées à conserver les images intermédiaires sont satisfaites par l'une des trois catégories de ressources : le pool en mémoire, le pool de fichiers mappés en mémoire et le pool de disque (dans cet ordre) selon les réglages de -limit et selon que le système honore ou non une demande de ressource. Si la taille totale du stockage de pixels alloué dans un pool donné atteint la limite correspondante, la demande est transmise au pool suivant. De plus, les demandes qui dépassent la limite area sont automagiquement allouées sur le disque.
Pour illustrer comment ImageMagick utilise les limites de ressources, considérons une demande de ressource d'image typique. D'abord, ImageMagick tente d'allouer les pixels en mémoire. La demande peut être refusée si elle dépasse la limite de mémoire ou si le système n'honore pas la demande. Si une demande de mémoire n'est pas honorée, les pixels sont alloués sur le disque et le fichier est mappé en mémoire. Cependant, si la demande d'allocation dépasse la limite map, l'allocation de ressource va sur le disque. Dans tous les cas, si la demande de ressource dépasse la limite area, les pixels sont automagiquement mis en cache sur le disque. Si le disque a une limite stricte, le programme échoue.
Dans la plupart des cas, vous n'avez tout simplement pas à vous préoccuper des limites de ressources. ImageMagick choisit des valeurs par défaut raisonnables et la plupart des images ne sollicitent pas excessivement les ressources de votre ordinateur. Les limites se révèlent utiles lorsque vous traitez des images volumineuses ou sur des systèmes partagés où ImageMagick peut consommer la totalité ou la majeure partie de la mémoire disponible. Dans ce cas, le flux de travail d'ImageMagick ralentit les autres processus ou, dans les cas extrêmes, met le système à l'arrêt. Dans ces circonstances, définir des limites donne certaines garanties que le flux de travail d'ImageMagick n'interférera pas avec les autres utilisations simultanées de l'ordinateur. Par exemple, supposons que vous disposiez d'une interface web qui traite des images téléchargées depuis Internet. Pour vous assurer qu'ImageMagick ne dépasse pas 10 Mio de mémoire, vous pouvez simplement définir la limite area à 10 Mio :
-limit area 10MB
Désormais, chaque fois qu'une image volumineuse est traitée, les pixels sont automagiquement mis en cache sur le disque plutôt qu'en mémoire. Cela implique bien sûr que les images volumineuses sont généralement traitées très lentement, simplement parce que le traitement des pixels en mémoire peut être un ordre de grandeur plus rapide que sur le disque. Comme les utilisateurs de votre site web pourraient par inadvertance téléverser une image énorme à traiter, vous devriez également définir une limite de disque :
-limit area 10MB -limit disk 500MB
Ici, ImageMagick arrête le traitement si une image nécessite plus de 500 Mo de stockage sur disque.
En plus de l'option de limite de ressource en ligne de commande, les ressources peuvent être définies à l'aide de variables d'environnement. Définissez les variables d'environnement MAGICK_AREA_LIMIT, MAGICK_DISK_LIMIT, MAGICK_FILE_LIMIT, MAGICK_MEMORY_LIMIT, MAGICK_MAP_LIMIT, MAGICK_THREAD_LIMIT, MAGICK_TIME_LIMIT pour les limites de surface d'image, d'espace disque, de fichiers ouverts, de mémoire de tas, de carte mémoire, de nombre de threads d'exécution et de temps écoulé maximal en secondes, respectivement.
Notez que vous pouvez restreindre les limites par rapport à n'importe quelle politique de sécurité, mais vous ne pouvez pas les assouplir.
Les utilisateurs curieux peuvent essayer d'ajouter -debug cache à leurs commandes, puis de parcourir la sortie générée à la recherche de références au cache de pixels, afin de déterminer comment le cache de pixels a été alloué et comment les ressources ont été consommées. Les utilisateurs Linux avancés peuvent canaliser cette sortie via grep memory|open|destroy|disk pour un tri plus lisible.
Pour en savoir plus sur l'utilisation des ressources par ImageMagick, consultez la section Cache Storage and Resource Requirements sur la page Architecture.
-linear-stretch black-point
-linear-stretch black-point{xwhite-point}{%}
Étirement linéaire avec saturation.
Ceci ressemble beaucoup à -contrast-stretch et utilise une « case d'histogramme » pour déterminer la plage de valeurs de couleur qui doit être étirée. Cependant, il étire ensuite ces couleurs à l'aide de l'opérateur -level.
Ainsi, bien que la détermination initiale puisse comporter des effets d'arrondi liés au « binning », les couleurs de l'image sont étirées mathématiquement, plutôt qu'à l'aide des cases d'histogramme. Cela rend l'opérateur plus précis.
Notez cependant qu'un -linear-stretch de « 0 » ne fait rien, tandis qu'une valeur de « 1 » effectue un étirement quasi parfait de la plage de couleurs.
Voir aussi -auto-level pour une normalisation « parfaite » des images mathématiques.
Cet opérateur est en cours de réexamen en vue d'une refonte.
-linewidth
La largeur de trait pour les opérations de dessin suivantes.
-liquid-rescale geometry
Redimensionne l'image par découpe de coutures (seam-carving).
Voir Image Geometry pour tous les détails concernant l'argument geometry.
-list type
Affiche une liste des arguments pris en charge pour diverses options ou réglages. Choisissez parmi ces types de liste :
Align
Alpha
Boolean
Cache
Channel
Class
ClipPath
Coder
Color
Colorspace
Command
Complex
Compose
Compress
Configure
DataType
Debug
Decoration
Delegate
Direction
Dispose
Distort
Dither
Endian
Evaluate
FillRule
Filter
Font
Format
Function
Gravity
Intensity
Intent
Interlace
Interpolate
Kernel
Layers
LineCap
LineJoin
List
Locale
LogEvent
Log
Magic
Method
Metric
Mime
Mode
Morphology
Module
Noise
Orientation
PixelIntensity
Policy
PolicyDomain
PolicyRights
Preview
Primitive
QuantumFormat
Resource
SparseColor
Statistic
Storage
Stretch
Style
Threshold
Type
Units
Validate
VirtualPixel
Ces listes varient selon votre version d'ImageMagick. Utilisez « -list list » pour obtenir une liste complète de tous les arguments « -list » disponibles :
magick identify -list list
-log string
Spécifie le format du journal de débogage.
Cette option spécifie le format du journal imprimé lorsque l'option -debug est active.
Vous pouvez afficher les composants suivants en intégrant des caractères de format spéciaux :
- %d
- domaine
- %e
- événement
- %f
- fonction
- %l
- ligne
- %m
- module
- %p
- identifiant de processus
- %r
- temps CPU réel
- %t
- temps d'horloge murale
- %u
- temps CPU utilisateur
- %%
- signe pourcent
- \n
- saut de ligne
- \r
- retour chariot
Par exemple :
magick -debug coder -log "%u %m:%l %e" in.gif out.png
Le comportement par défaut consiste à imprimer tous les composants.
-loop iterations
Ajoute l'extension de boucle Netscape à votre animation GIF.
Définissez iterations à zéro pour répéter l'animation un nombre infini de fois, sinon l'animation se répète jusqu'à iterations fois.
-lowlight-color color
Lors de la comparaison d'images, atténue les différences de pixels avec cette couleur.
-magnify
Double ou triple la taille de l'image avec une mise à l'échelle de type pixel art. Spécifiez une autre méthode de mise à l'échelle avec -define magnify:method=method. Choisissez parmi ces méthodes : eagle2X, eagle3X, eagle3XB, epb2X, fish2X, hq2X, scale2X, scale3X, xbr2X. La valeur par défaut est scale2X.
-map type
Affiche l'image en utilisant ce type.
Choisissez parmi ces types de Standard Colormap :
best
default
gray
red
green
blue
Le serveur X doit prendre en charge la Standard Colormap que vous choisissez, sinon une erreur se produit. Utilisez list comme type et display recherche dans la liste des types de colormap de haut en bas jusqu'à en trouver un. Voir xstdcmap(1) pour une méthode de création de Standard Colormaps.
-map components
Carte de pixels.
Voici les composants valides d'une carte :
- r
- composant de pixel rouge
- g
- composant de pixel vert
- b
- composant de pixel bleu
- a
- composant de pixel alpha (0 est transparent)
- o
- composant de pixel d'opacité (0 est opaque)
- i
- composant de pixel d'intensité en niveaux de gris
- c
- composant de pixel cyan
- m
- composant de pixel magenta
- y
- composant de pixel jaune
- k
- composant de pixel noir
- p
- composant de remplissage (toujours 0)
Vous pouvez spécifier autant de ces composants que nécessaire dans n'importe quel ordre (par ex. bgr). Les composants peuvent aussi se répéter (par ex. rgbr).
-mattecolor color
Spécifie la couleur à utiliser avec l'option -frame.
La couleur est spécifiée à l'aide du format décrit sous l'option -fill.
La couleur de cadre (matte) par défaut est #BDBDBD, cette nuance de gris.
-maximum
Retourne l'intensité maximale d'une séquence d'images.
Sélectionne la valeur « maximale » parmi tous les pixels environnants.
Il s'agit d'une option héritée de la méthode du même nom.
-median geometry
Applique un filtre médian à l'image.
Sélectionne la valeur « médiane » parmi tous les pixels environnants.
Il s'agit d'une option héritée de la méthode du même nom.
-mean-shift widthxheight{+distance{%}
Suppression du bruit de l'image et réduction/segmentation des couleurs (par ex. -mean-shift 7x7+10%).
widthxheight est la taille de la fenêtre et distance est la distance de couleur mesurée dans la plage de 0 à 1 ou de 0 à 100 %.
L'algorithme de mean shift est itératif et donc d'autant plus lent que la fenêtre est grande. Pour chaque pixel, il récupère tous les pixels de la fenêtre centrée sur ce pixel et exclut ceux qui sont en dehors du rayon=sqrt((width-1)(height-1)/4) entourant le pixel. Parmi ces pixels, il détermine lesquels se trouvent à l'intérieur de la distance de couleur au carré spécifiée par rapport à la moyenne actuelle. Il calcule ensuite un nouveau centroïde x,y à partir de ces coordonnées et une nouvelle moyenne. Ce nouveau centroïde x,y est utilisé comme centre d'une nouvelle fenêtre. Ce processus est itéré jusqu'à convergence, puis la moyenne finale est utilisée pour remplacer la valeur du pixel d'origine. Il répète ce processus pour le pixel suivant, etc., jusqu'à traiter tous les pixels de l'image. Les résultats sont meilleurs en utilisant d'autres espaces colorimétriques que le RGB. Recommandé : YIQ, YUV ou YCbCr, qui semblent donner des résultats équivalents.
-metric type
Affiche sur STDERR une mesure des différences entre les images selon le type de métrique donné.
Choisissez parmi :
- AE
- l'ampleur des différences de pixels entre deux images (affecté par -fuzz)
- DPC
- corrélation de phase discrète
- DSSIM
- indice de dissimilarité structurelle
- FUZZ
- distance de couleur moyenne
- MAE
- erreur absolue moyenne (normalisée), distance d'erreur moyenne par canal
- MEPP
- erreur moyenne par pixel (erreur moyenne normalisée, erreur de crête normalisée)
- MSE
- erreur quadratique moyenne, moyenne de l'erreur de canal au carré
- NCC
- corrélation croisée normalisée
- PAE
- crête absolue (crête absolue normalisée)
- PDC
- le nombre total de pixels dont les valeurs diffèrent entre deux images (affecté par -fuzz)
- PHASE
- corrélation de phase
- PHASH
- hachage perceptuel pour les espaces colorimétriques sRGB et HCLp. Spécifiez un autre espace colorimétrique avec -define phash:colorspaces=colorspace,colorspace,...
- PSNR
- rapport signal sur bruit de crête
- RMSE
- racine de l'erreur quadratique moyenne (racine de l'erreur quadratique moyenne normalisée)
- SSIM
- indice de similarité structurelle
Contrôlez « AE » (de combien les pixels diffèrent) et « PDC » (combien de pixels diffèrent) avec le facteur -fuzz (ignore les pixels qui n'ont changé que d'une faible quantité). Utilisez « PAE » pour trouver la taille du facteur -fuzz nécessaire pour rendre tous les pixels « similaires », tandis que « MAE » détermine le facteur nécessaire pour qu'environ la moitié des pixels soient similaires.
La métrique MEPP retourne trois métriques différentes (« MAE », « MAE » normalisée et « PAE » normalisée) à partir d'une seule exécution de comparaison.
Les métriques SSIM et DSSIM respectent ces defines : -define compare:ssim-radius, -define compare:ssim-sigma, -define compare:ssim-k1 et -define compare:ssim-k2.
Pour imprimer une liste complète des métriques, utilisez l'option -list metric.
-minimum
Retourne l'intensité minimale d'une séquence d'images.
Sélectionne la valeur « minimale » parmi tous les pixels environnants.
Il s'agit d'une option héritée de la méthode du même nom.
-mode geometry
Donne à chaque pixel la « couleur prédominante » du voisinage.'
-mode value
Mode de fonctionnement.
Choisissez la valeur parmi ces styles : Frame, Unframe ou Concatenate
Utilisez l'option -list avec un argument « Mode » pour obtenir la liste des arguments -mode disponibles dans votre installation d'ImageMagick.
-modulate brightness[,saturation,hue]
Fait varier la luminosité, la saturation et la teinte d'une image.
Les arguments sont donnés en pourcentages de variation. Une valeur de 100 signifie aucun changement, et toute valeur manquante est considérée comme valant 100.
La luminosité est un multiplicateur de la luminosité globale de l'image, ainsi 0 signifie noir pur, 50 deux fois moins lumineux, 200 deux fois plus lumineux. Pour inverser sa signification, appliquez -negate à l'image avant et après.
La saturation contrôle la quantité de couleur dans une image. Par exemple, 0 produit une image en niveaux de gris, tandis qu'une grande valeur telle que 200 produit une couleur très vive, « caricaturale ».
L'argument hue provoque une « rotation » des couleurs au sein de l'image de la quantité spécifiée. Par exemple, 50 entraîne une rotation antihoraire de 90, faisant correspondre les nuances de rouge au violet, et ainsi de suite. Une valeur de 0 ou de 200 entraîne une rotation complète de 180 degrés de l'image. Utiliser une valeur de 300 correspond à une rotation de 360 degrés n'entraînant aucun changement par rapport à l'image d'origine.
Par exemple, pour augmenter la luminosité de couleur de 20 % et diminuer la saturation de couleur de 10 % en laissant la teinte inchangée, utilisez -modulate 120,90.
Utilisez -set attribute de « option:modulate:colorspace » pour spécifier quel espace colorimétrique moduler. Choisissez parmi HCL, HCLp, HSB, HSI, HSL (la valeur par défaut), HSV, HWB ou LCH (LCHab). Par exemple,
magick image.png -set option:modulate:colorspace hsb -modulate 120,90 modulate.png
-moments
Rapporte les moments de l'image et le hachage perceptuel.
-monitor
Surveille la progression.
-monochrome
Transforme l'image en noir et blanc.
-morph frames
Effectue un morphing d'une séquence d'images.
À la fois les pixels et la taille de l'image sont interpolés linéairement pour donner l'apparence d'une métamorphose d'une image à la suivante, sur toutes les images de la liste d'images actuelle. Les images ajoutées sont l'équivalent d'une composition -blend. L'argument frames détermine combien d'images interpoler entre chaque image.
-morphology
-morphology method kernel
Applique une méthode de morphologie à l'image.
Voir IM Usage Examples, Morphology.
-mosaic
Un simple alias pour la méthode « mosaic » de -layers
-motion-blur radius
-motion-blur radius{xsigma}+angle
Simule un flou de mouvement.
Applique un flou avec le rayon, l'écart-type (sigma) et l'angle donnés. L'angle indiqué est l'angle vers lequel l'image est floutée. C'est la direction d'où l'on considérerait que l'objet provient.
Notez que le flou n'a pas une distribution uniforme, ce qui donne au mouvement un sens de direction de déplacement bien défini.
Le réglage -virtual-pixel détermine comment les pixels situés à l'extérieur de l'image proprement dite sont fondus par le flou dans le résultat final.
-name
Nomme une image.
-negate
Remplace chaque pixel par sa couleur complémentaire.
Les intensités rouge, verte et bleue d'une image sont inversées. Le blanc devient noir, le jaune devient bleu, etc. Utilisez +negate pour n'inverser que les pixels en niveaux de gris de l'image.
-noise geometry
+noise type
Ajoute ou réduit le bruit dans une image.
La fonction principale du filtre d'élimination des pics de bruit est de lisser les objets d'une image sans perdre l'information des bords et sans créer de structures indésirables. L'idée centrale de l'algorithme est de remplacer un pixel par son voisin le plus proche en valeur à l'intérieur d'une fenêtre de pixels, si ce pixel a été identifié comme du bruit. Un pixel est défini comme du bruit si et seulement si ce pixel est un maximum ou un minimum à l'intérieur de la fenêtre de pixels.
Utilisez -noise radius pour spécifier la largeur du voisinage lors de la réduction du bruit. Cela équivaut à utiliser une opération -statistic NonPeak, qui devrait être préférée.
Utilisez +noise suivi d'un type de bruit pour ajouter du bruit à une image. Choisissez parmi ces types de bruit :
Gaussian
Impulse
Laplacian
Multiplicative
Poisson
Random
Uniform
La quantité de bruit ajoutée peut être contrôlée par le réglage -attenuate. Si elle n'est pas définie, la valeur équivaut à 1.0, soit un ajout de bruit maximal.
Notez que Random remplacera l'image par du bruit plutôt que d'ajouter du bruit à l'image. Utilisez Uniform si vous souhaitez ajouter un bruit aléatoire à l'image.
Pour afficher une liste complète des bruits, utilisez l'option -list noise.
Voir aussi les fonctions de bruit de -evaluate qui permettent d'utiliser une valeur de contrôle pour spécifier la quantité de bruit à ajouter à une image.
-normalize
Augmente le contraste d'une image en étirant la plage des valeurs d'intensité.
Les valeurs d'intensité sont étirées pour couvrir toute la plage des valeurs possibles. Ce faisant, on noircit au plus 2 % des pixels et on blanchit au plus 1 % des pixels.
Notez qu'à partir d'ImageMagick 6.4.7-0, -normalize équivaut à -contrast-stretch 2%x1%. (Avant cette version, il équivalait à -contrast-stretch 2%x99%.)
Tous les canaux sont normalisés de concert par la même quantité afin de préserver l'intégrité des couleurs, lorsque le réglage par défaut +channel est utilisé. Spécifier tout autre réglage -channel normalisera les canaux RVB indépendamment.
Voir -contrast-stretch pour plus de détails. Voir aussi -auto-level pour une normalisation « parfaite » mieux adaptée aux images générées mathématiquement.
Cet opérateur est en cours de révision en vue d'une réécriture.
-opaque color
Change cette couleur en la couleur de remplissage à l'intérieur de l'image.
L'argument color est défini en utilisant le format décrit sous l'option -fill. Le réglage -fuzz peut être utilisé pour faire correspondre et remplacer des couleurs semblables à celle indiquée.
Utilisez +opaque pour peindre tout pixel qui ne correspond pas à la couleur cible.
L'opérateur -transparent est exactement le même que -opaque mais remplace la couleur correspondante par de la transparence plutôt que par le réglage actuel de la couleur -fill. Pour s'assurer qu'il peut le faire, il garantit également que l'image possède un canal alpha activé, comme avec « -alpha set », pour les nouvelles couleurs transparentes, et ne vous oblige pas à modifier -channel pour activer la gestion du canal alpha.
-ordered-dither threshold_map{,level...}
Applique un tramage à l'image en utilisant une carte de seuils de tramage ordonné prédéfinie spécifiée, et une carte de couleurs uniforme avec le nombre de niveaux indiqué par canal de couleur.
Vous pouvez choisir parmi ces cartes de seuils standard :
threshold 1x1 Threshold 1x1 (non-dither)
checks 2x1 Checkerboard 2x1 (dither)
o2x2 2x2 Ordered 2x2 (dispersed)
o3x3 3x3 Ordered 3x3 (dispersed)
o4x4 4x4 Ordered 4x4 (dispersed)
o8x8 8x8 Ordered 8x8 (dispersed)
h4x4a 4x1 Halftone 4x4 (angled)
h6x6a 6x1 Halftone 6x6 (angled)
h8x8a 8x1 Halftone 8x8 (angled)
h4x4o Halftone 4x4 (orthogonal)
h6x6o Halftone 6x6 (orthogonal)
h8x8o Halftone 8x8 (orthogonal)
h16x16o Halftone 16x16 (orthogonal)
c5x5b c5x5 Circles 5x5 (black)
c5x5w Circles 5x5 (white)
c6x6b c6x6 Circles 6x6 (black)
c6x6w Circles 6x6 (white)
c7x7b c7x7 Circles 7x7 (black)
c7x7w Circles 7x7 (white)
La carte threshold génère un simple seuillage à 50 % de l'image. Cela pourrait être utilisé avec level pour faire l'équivalent de -posterize afin de réduire une image à ses couleurs primaires de base.
Le motif checks produit un motif de tramage en damier à 3 niveaux. C'est-à-dire qu'un niveau de gris devient un motif de noir uni, de blanc uni et de couleurs de demi-teinte formant un damier de noir et de blanc.
Vous pouvez définir votre propre carte de seuils pour le tramage ordonné et la mise en demi-teintes de vos images, dans un fichier XML thresholds.xml personnel ou système. Voir Resources pour plus de détails sur les fichiers de configuration.
Pour afficher une liste complète des seuils qui ont été définis, utilisez l'option -list threshold.
Notez qu'à l'heure actuelle, la même carte de tramage par seuils est utilisée pour tous les canaux de couleur ; aucune tentative n'est faite pour décaler ou faire pivoter la carte selon les différents canaux, afin de créer un effet d'impression décalée. De plus, comme les cartes sont de simples niveaux de seuils, les cartes de demi-teintes et de cercles créeront des cercles incomplets le long des bords d'une zone colorée. Par ailleurs, tous les effets sont purement des effets booléens marche/arrêt, sans anti-crénelage pour donner aux cercles un aspect lisse. Les gros points peuvent être améliorés par un léger flou appliqué après leur création.
-orient image orientation
Spécifie l'orientation d'une image d'appareil photo numérique.
Notez qu'il s'agit d'un réglage. Cela ne fait que définir les métadonnées d'orientation et ne modifie pas l'image.
Voici les orientations autorisées ainsi que les codes EXIF et les descriptions indiquant comment réorienter l'image :
- Undefined
- aucune balise : Non défini
- top-left
- 1 : Ne rien faire
- top-right
- 2 : Retourner horizontalement
- bottom-right
- 3 : Pivoter de 180 degrés
- bottom-left
- 4 : Retourner verticalement
- left-top
- 5 : Pivoter de 90 degrés et retourner horizontalement (transpose)
- right-top
- 6 : Pivoter de 90 degrés
- right-bottom
- 7 : Pivoter de 90 degrés et retourner verticalement (transverse)
- left-bottom
- 8 : Pivoter de 270 degrés
Pour afficher une liste complète des orientations, utilisez l'option -list orientation.
-page geometry
-page media[offset][{^!<>}]
+page
Définit la taille et l'emplacement d'une image sur le canevas virtuel plus grand.
Voir Image Geometry pour tous les détails concernant l'argument geometry.
Par commodité, vous pouvez spécifier la taille de la page en utilisant media (voir ci-dessous). Des décalages peuvent ensuite être ajoutés comme avec les autres arguments de géométrie (par ex. -page Letter+43+43).
Utilisez media comme raccourci pour spécifier les dimensions (largeurxhauteur) de la page PostScript en points par pouce ou d'une page TEXT en pixels. Les choix de formats de papier sont : 4x6, 5x7, 7x9, 8x10, 9x11, 9x12, 10x13, 10x14, 11x17, 4A0, 2A0, a0, a1, a2, a3, a4, a4small, a5, a6, a7, a8, a9, a10, archa, archb, archC, archd, arche, b0, b1, b10, b2, b3, b4, b5, b6, b7, b8, b9, c0, c1, c2, c3, c4, c5, c6, c7, csheet, dsheet, esheet, executive, flsa, flse, folio, halfletter, isob0, isob1, isob10, isob2, isob3, isob4, isob5, isob6, isob7, isob8, isob9, jisb0, jisb1, jisb2, jisb3, jisb4, jisb5, jisb6, ledger, legal, letter, lettersmall, monarch, quarto, statement, tabloid. Pour déterminer la taille correspondante en pixels à 72 DPI, utilisez par exemple cette commande :
magick xc: -format "%[papersize:a4]" info:
Cette option est également utilisée pour placer des sous-images lors de l'écriture vers un format multi-images qui prend en charge les décalages, comme GIF89 et MNG. Lorsqu'elle est utilisée à cette fin, les décalages sont toujours mesurés à partir du coin supérieur gauche du canevas et ne sont pas affectés par l'option -gravity. Pour positionner une image GIF ou MNG, utilisez -page{+-}x{+-}y (par ex. -page +100+200). Lors de l'écriture d'un fichier MNG, une option -page apparaissant avant la première image de la séquence avec une largeur et une hauteur non nulles définit les valeurs de largeur et de hauteur écrites dans le bloc MHDR. Sinon, la largeur et la hauteur MNG sont calculées à partir du rectangle englobant qui contient toutes les images de la séquence. Lors de l'écriture d'un fichier GIF89, seule la méthode du rectangle englobant est utilisée pour déterminer ses dimensions.
Pour une page PostScript, l'image est dimensionnée comme avec -geometry mais positionnée par rapport au coin inférieur gauche de la page par {+-}xoffset{+-}y offset. Utilisez -page 612x792, par exemple, pour centrer l'image dans la page. Si la taille de l'image dépasse la page PostScript, elle est réduite pour tenir dans la page. La gravité par défaut pour l'option -page est NorthWest, c'est-à-dire que les décalages positifs en x et y sont mesurés vers la droite et vers le bas à partir du coin supérieur gauche de la page, à moins que l'option -gravity ne soit présente avec une valeur autre que NorthWest.
Les dimensions de page par défaut pour une image TEXT sont 612x792.
Cette option est utilisée de concert avec -density.
Utilisez +page pour supprimer les réglages de page d'une image.
Pour afficher une liste complète des formats de page, utilisez l'option -list pagesize.
-paint radius
Simule une peinture à l'huile.
Chaque pixel est remplacé par la couleur la plus fréquente dans un voisinage circulaire dont la largeur est spécifiée par radius.
-path path
Écrit les images vers ce chemin sur le disque.
-pause seconds
Pause entre les boucles d'animation
Met en pause pendant le nombre de secondes spécifié avant de répéter l'animation.
-pause seconds
Pause entre les captures.
Met en pause pendant le nombre de secondes spécifié avant de prendre la capture suivante.
-perceptible epsilon
Affecte à chaque pixel dont la valeur est inférieure à |epsilon| la valeur -epsilon ou epsilon (selon laquelle est la plus proche) ; sinon la valeur du pixel reste inchangée.
-ping
Détermine efficacement ces caractéristiques de l'image : numéro de l'image, nom du fichier, largeur et hauteur de l'image, si l'image utilise une palette de couleurs ou non, nombre de couleurs dans l'image, nombre d'octets dans l'image, format de l'image (JPEG, PNM, etc.). Utilisez +ping pour garantir des propriétés d'image exactes.
-pointsize value
Corps (pointsize) de la police PostScript, X11 ou TrueType.
-polaroid angle
Simule une photo Polaroid.
Utilisez +polaroid pour faire pivoter l'image selon un angle aléatoire compris entre -15 et +15 degrés.
-poly "wt,exp ..."
Combine plusieurs images selon une somme pondérée de polynômes ; un poids (coefficient) en virgule flottante et un exposant (puissance) de polynôme en virgule flottante pour chaque image, exprimés sous forme de paires séparées par des virgules.
Les poids devraient généralement être des fractions comprises entre -1 et 1. Mais la somme des poids devrait être 1, ou au moins comprise entre 0 et 1, pour éviter l'écrêtage en mode non-hdri au noir et au blanc.
Les exposants peuvent être positifs, négatifs ou nuls. Un exposant négatif équivaut à 1 divisé par l'image élevée à l'exposant positif correspondant. Un exposant nul produit toujours 1 mis à l'échelle par quantumrange vers le blanc, c'est-à-dire wt*white, quelle que soit l'image.
Le format est : output = wt1image1^exp1 + wt2image2^exp2 ...
Voici quelques utilisations simples :
- Une somme pondérée de chaque image à condition que tous les poids totalisent l'unité et que tous les exposants=1. Si les poids sont tous égaux à 1/(nombre d'images), alors cela équivaut à -evaluate-sequence mean.
- La somme des carrés de deux images ou plus, à condition que les poids soient égaux (et qu'ils totalisent 1 pour éviter l'écrêtage) et que les exposants soient égaux à 2.
Notez que l'on peut ajouter une couleur constante à l'expression simplement en utilisant xc:somecolor pour l'une des images et en spécifiant le poids souhaité ainsi qu'un exposant égal à 0.
De même, on peut ajouter du blanc à l'expression en utilisant simplement null: (ou xc:white) pour l'une des images avec le poids approprié et un exposant égal à 0.
-posterize levels
Réduit l'image à un nombre limité de niveaux de couleur par canal.
Des valeurs très basses de levels, par ex. 2, 3, 4, ont l'effet le plus visible.
-precision value
Définit le nombre maximal de chiffres significatifs à afficher.
-preview type
Type d'aperçu d'image.
Utilisez cette option pour modifier l'opération d'aperçu d'une image (par ex. magick file.png -preview Gamma Preview:gamma.png). Choisissez parmi ces aperçus :
AddNoise
Blur
Brightness
Charcoal
Despeckle
Dull
EdgeDetect
Gamma
Grayscale
Hue
Implode
JPEG
OilPaint
Quantize
Raise
ReduceNoise
Roll
Rotate
Saturation
Segment
Shade
Sharpen
Shear
Solarize
Spiff
Spread
Swirl
Threshold
Wave
Pour afficher une liste complète des aperçus, utilisez l'option -list preview.
L'aperçu par défaut est JPEG.
-print string
Interprète string et l'affiche sur la console.
-process command
Traite l'image avec un filtre d'image personnalisé.
Les arguments de command ont la forme "module arg1 arg2 arg3 ... argN" où module est le nom du module à invoquer (par ex. "Analyze") et arg1 arg2 arg3 ... argN sont un nombre arbitraire d'arguments à passer au module de traitement.
-profile filename
+profile profile_name
Gère les profils ICM, IPTC ou génériques d'une image.
L'utilisation de -profile filename ajoute un profil ICM (gestion des couleurs ICC), IPTC (informations de presse) ou un profil générique à l'image.
Utilisez +profile profile_name pour supprimer le profil indiqué. ImageMagick utilise le globbing de noms de fichiers standard, donc des expressions avec caractères génériques peuvent être employées pour supprimer plusieurs profils à la fois. Ici, nous supprimons tous les profils de l'image sauf le profil XMP : +profile "!xmp,*".
Utilisez magick identify -verbose pour découvrir quels profils sont présents dans le fichier image. Utilisez -strip pour supprimer tous les profils (et les commentaires).
Pour extraire un profil, l'option -profile n'est pas utilisée. À la place, écrivez simplement le fichier dans un format d'image tel que APP1, 8BIM, ICM ou IPTC.
Par exemple, pour extraire les données Exif (qui sont stockées dans les fichiers JPEG dans le profil APP1), utilisez.
Définissez -define precision:highres-transform=true pour augmenter la précision de la transformation. Notez qu'il y a une légère pénalité de performance, car la transformation haute précision utilise des nombres à virgule flottante plutôt que des entiers non signés.
magick cockatoo.jpg profile.exif
Il est important de noter que les résultats peuvent dépendre du fait que l'image originale comporte déjà ou non un profil inclus. Gardez également à l'esprit que -profile est un « opérateur » (par opposition à un « réglage ») et qu'une conversion est donc effectuée chaque fois qu'il est rencontré, dans l'ordre, sur la ligne de commande. Par exemple, dans l'exemple suivant, si l'image originale est en CMYK avec profil, une conversion CMYK-CMYK-RGB en résulte.
magick CMYK.tif -profile "CMYK.icc" -profile "RGB.icc" RGB.tiff
De plus, comme les profils ICC ne sont pas nécessairement symétriques, des étapes de conversion supplémentaires peuvent produire des résultats indésirables. Les profils CMYK sont souvent très asymétriques car ils impliquent un mappage de canaux 3−>4 et 4−>3.
-quality value
contrôle la qualité de compression des fichiers image JPEG, PNG, HEIC et WebP lorsque vous les créez ou les enregistrez. Cette option est importante pour gérer le compromis entre la qualité de l'image et la taille du fichier.
Pour les formats d'image JPEG et MPEG, la qualité va de 1 (qualité d'image la plus basse et compression la plus élevée) à 100 (meilleure qualité mais compression la moins efficace). Par défaut, la qualité estimée de votre image d'entrée est utilisée si elle peut être déterminée, sinon 92. Lorsque la qualité est de 90 ou plus, les canaux de chrominance ne sont pas sous-échantillonnés. Utilisez l'option -sampling-factor pour spécifier les facteurs de sous-échantillonnage de la chrominance.
Pour le format d'image JPEG-2000, la qualité est mappée à l'aide d'une équation non linéaire vers le taux de compression requis par la bibliothèque Jasper. Cette équation non linéaire vise à approcher grossièrement la qualité fournie par le format JPEG v1. La valeur de qualité par défaut est 100, une demande de compression sans perte. Une qualité de 75 entraîne une demande de compression 16:1.
Pour les formats d'image MNG et PNG, la valeur de qualité définit le niveau de compression zlib (qualité / 10) et le type de filtre (qualité % 10). La « qualité » PNG par défaut est 75, ce qui signifie un niveau de compression 7 avec filtrage PNG adaptatif, sauf si l'image possède une palette de couleurs, auquel cas cela signifie un niveau de compression 7 sans filtrage PNG.
Pour le niveau de compression 0 (valeur de qualité inférieure à 10), la stratégie Huffman seule est utilisée, qui est la plus rapide mais pas nécessairement la moins bonne en compression.
Si le type de filtre est 4 ou moins, le type de filtre PNG spécifié est utilisé pour toutes les lignes de balayage :
- 0
- none
- 1
- sub
- 2
- up
- 3
- average
- 4
- Paeth
Si le type de filtre est 5, le filtrage adaptatif est utilisé lorsque la qualité est supérieure à 50 et que l'image ne possède pas de palette de couleurs, sinon aucun filtrage n'est utilisé.
Si le type de filtre est 6, le filtrage adaptatif avec somme minimale des valeurs absolues est utilisé.
Uniquement si la sortie est MNG, si le type de filtre est 7, la transformation de couleur LOCO (différenciation intrapixel) et le filtrage adaptatif avec somme minimale des valeurs absolues sont utilisés.
Si le type de filtre est 8, la stratégie de compression zlib Z_RLE (ou la stratégie Z_HUFFMAN_ONLY, lorsque le niveau de compression est 0) est utilisée avec un filtrage PNG adaptatif.
Si le type de filtre est 9, la stratégie de compression zlib Z_RLE (ou la stratégie Z_HUFFMAN_ONLY, lorsque le niveau de compression est 0) est utilisée sans filtrage PNG.
Le réglage de qualité n'a aucun effet sur l'apparence ou la signature des images PNG et MNG, car la compression est toujours sans perte.
Toutes les combinaisons de niveau de compression, de stratégie et de type de filtre PNG ne peuvent pas être obtenues à l'aide de l'option -quality. Pour un contrôle plus précis, vous pouvez utiliser respectivement les defines PNG:compression-level=N, PNG:compression-strategy=N et PNG:compression-filter=N à la place. Voir -define. Les valeurs des defines ont priorité sur les valeurs de l'option -quality.
Pour plus d'informations, consultez la spécification PNG.
Pour les formats d'image MIFF et TIFF, qualité/10 correspond au niveau de compression Zip/BZip, qui va de 0 (compression la moins bonne mais la plus rapide) à 9 (la meilleure mais la plus lente). Cela n'a aucun effet sur l'apparence de l'image, car la compression est toujours sans perte.
Pour le format d'image BPG, qualité/2 correspond au niveau de compression BPG réel (plage de 0 à 51).
-quantize colorspace
Réduit les couleurs en utilisant cet espace colorimétrique.
Ce réglage définit l'espace colorimétrique utilisé pour trier et réduire le nombre de couleurs nécessaires à une image (en vue d'un tramage ultérieur) par des opérateurs tels que -colors. Notez que la réduction des couleurs se produit également automatiquement lors de l'enregistrement d'images dans des formats de fichier image à couleurs limitées, tels que GIF et PNG8.
-quiet
Supprime tous les messages d'avertissement. Les messages d'erreur sont toujours signalés.
Le réglage -virtual-pixel déterminera comment les pixels situés en dehors de l'image proprement dite sont fondus dans le résultat final.
-raise thickness
Éclaircit ou assombrit les bords de l'image.
Cela crée un effet 3D. Utilisez -raise pour créer un effet en relief, sinon utilisez +raise.
Contrairement à l'option similaire -frame, -raise ne modifie pas les dimensions de l'image.
-random-threshold lowxhigh
Applique un seuil aléatoire à l'image.
-range-threshold low-black,low-white,high-white,high-black
Effectue un seuillage dur ou doux dans une certaine plage de valeurs d'une image.
-read filename
Lecture explicite d'une image plutôt qu'une lecture implicite.
Cette option vous permet de lire des fichiers dont le nom commence par un caractère « option », et qui pourraient autrement être confondus avec une option (inconnue ou non).
-read-mask filename
Empêche les mises à jour des pixels de l'image spécifiés par le masque.
C'est identique à l'utilisation d'un masque pour les opérations de masquage de composition, où les valeurs en niveaux de gris provoquent des mises à jour mélangées de l'image à laquelle le masque est attaché.
Utilisez +read-mask pour retirer le masque des images.
Voir aussi -clip-mask qui fonctionne de la même manière, mais avec un masquage booléen strict.
-red-primary x,y
Définit le point primaire de chromaticité rouge.
-regard-warnings
Prête attention aux messages d'avertissement.
Cette option fait que certains avertissements dans certains formats d'image sont traités comme des erreurs.
-remap filename
Réduit le nombre de couleurs d'une image aux couleurs utilisées par cette image.
Si le réglage -dither est activé (par défaut), alors les couleurs données sont tramées sur l'image selon les besoins, sinon la couleur la plus proche (dans l'espace colorimétrique RGB) est sélectionnée pour remplacer ce pixel dans l'image.
Comme effet secondaire de l'application d'un -remap des couleurs sur toutes les images de la séquence d'images courante, toutes les images auront la même table de couleurs. Cela signifie que, lorsqu'elles sont enregistrées dans un format de fichier tel que GIF, celui-ci utilisera cette table de couleurs comme une table de couleurs commune ou globale unique, pour toutes les images, sans nécessiter de tables de couleurs locales supplémentaires.
Utilisez +remap pour réduire toutes les images de la séquence d'images courante afin qu'elles utilisent une palette de couleurs commune à toutes les images. Cela équivaut à assembler toutes les images ensemble (sans couleurs d'arrière-plan supplémentaires) et à réduire les couleurs de ces images à l'aide de -colors avec une limite de 256 couleurs, puis à appliquer -remap de ces couleurs sur la liste originale d'images. Cela garantit que toutes les images suivent une palette de couleurs unique.
Si le nombre de couleurs sur l'ensemble des images est inférieur à 256, alors +remap ne devrait effectuer aucune réduction de couleurs ni aucun tramage, car aucun changement de couleur n'est nécessaire. Dans ce cas, son seul effet est de forcer l'utilisation d'une table de couleurs globale. Ceci est recommandé après avoir utilisé soit -colors soit -ordered-dither pour réduire le nombre de couleurs dans une séquence d'images animée.
Notez que la palette de couleurs de l'image remappée a au plus 8 bits de précision. Les palettes de couleurs plus profondes sont automagiquement fusionnées avec d'autres couleurs pour satisfaire cette exigence.
-region geometry
Définit une région dans laquelle s'appliquent les opérations ultérieures.
Les décalages x et y sont traités de la même manière que dans -crop.
Voir Image Geometry pour tous les détails concernant l'argument geometry.
Utilisez +region pour supprimer toute région précédemment définie.
-remote
Effectue une opération à distance.
La seule commande reconnue est le nom d'un fichier image à charger.
Si vous avez plusieurs applications display en cours d'exécution simultanément, utilisez l'option window pour spécifier quelle application contrôler.
-render
Effectue le rendu des opérations vectorielles.
Utilisez +render pour désactiver le rendu des opérations vectorielles. C'est utile lors de l'enregistrement du résultat dans des formats vectoriels tels que MVG ou SVG.
-repage geometry
Ajuste les informations de canevas et de décalage de l'image.
Cette option est comme -page mais agit comme un opérateur d'image plutôt que comme un réglage. Vous pouvez définir séparément la taille du canevas ou le décalage de l'image sur ce canevas en ne fournissant que ces composants.
Voir Image Geometry pour tous les détails concernant l'argument geometry.
Si un indicateur ! est donné, le décalage fourni est ajouté au décalage existant pour déplacer l'image par rapport à sa position précédente. C'est utile pour les séquences d'animation.
Une taille de canevas de zéro telle que « 0x0 » force le recalcul de la taille du canevas de sorte que l'image (à son décalage actuel) apparaisse entièrement sur ce canevas (sauf si elle a un décalage négatif).
Utilisez +repage pour supprimer/réinitialiser complètement les métadonnées de canevas virtuel des images.
L'option -set 'page' peut être utilisée pour attribuer directement les métadonnées de canevas virtuel.
-resample horizontalxvertical
Rééchantillonne l'image à la résolution horizontale et verticale spécifiée.
Redimensionne l'image de sorte que sa taille rendue reste la même que celle de l'original à la résolution cible spécifiée. Par exemple, si une image à 300 DPI s'affiche sur 3 pouces par 2 pouces sur un périphérique à 300 DPI, lorsque l'image a été rééchantillonnée à 72 DPI, elle s'affichera sur 3 pouces par 2 pouces sur un périphérique à 72 DPI. Notez que seul un petit nombre de formats d'image (par exemple JPEG, PNG et TIFF) sont capables de stocker la résolution de l'image. Pour les formats qui ne prennent pas en charge une résolution d'image, la résolution originale de l'image doit être spécifiée via -density sur la ligne de commande avant de spécifier la résolution de rééchantillonnage.
Notez que Photoshop stocke et obtient la résolution de l'image à partir d'un profil propriétaire intégré. Si ce profil existe dans l'image, alors Photoshop continuera à traiter l'image selon son ancienne résolution, en ignorant la résolution d'image spécifiée dans l'en-tête de fichier standard.
-reshape geometry
Remodèle une image.
-resize geometry
Redimensionne une image.
Voir Image Geometry pour tous les détails concernant l'argument geometry. Les décalages, s'ils sont présents dans la chaîne de géométrie, sont ignorés, et l'option -gravity n'a aucun effet.
Si l'option -filter ou -define filter:option=value précède l'option -resize, l'image est redimensionnée avec le filtre orthogonal spécifié.
De nombreux algorithmes de traitement d'image supposent que votre image est codée en lumière linéaire. Si votre image est corrigée en gamma, vous pouvez retirer la correction gamma non linéaire, appliquer la transformation, puis la rétablir comme ceci :
magick portrait.jpg -gamma .45455 -resize 25% -gamma 2.2 \
-quality 92 passport.jpg
Notez que certaines fonctions de rééchantillonnage sont des oscillations amorties en approximation d'une fonction Sinc. À ce titre, vous pouvez obtenir des lobes négatifs si votre version d'ImageMagick est compilée avec HDRI. Pour les éliminer, ajoutez -clamp à votre ligne de commande.
-respect-parentheses
Les réglages restent en vigueur jusqu'à la limite des parenthèses.
-reverse
Inverse l'ordre des images dans la liste d'images courante.
-roll {+-}x{+-}y
Fait défiler une image verticalement ou horizontalement de la quantité indiquée.
Un décalage x négatif fait défiler l'image de droite à gauche. Un décalage y négatif fait défiler l'image de bas en haut.
-rotate degrees{<}{>}
Applique la rotation d'image de Paeth (à l'aide d'opérations de cisaillement) à l'image.
Utilisez > pour pivoter l'image uniquement si sa largeur dépasse sa hauteur. < pivote l'image uniquement si sa largeur est inférieure à sa hauteur. Par exemple, si vous spécifiez -rotate "-90>" et que la taille de l'image est 480x640, l'image n'est pas pivotée. Cependant, si l'image est 640x480, elle est pivotée de -90 degrés. Si vous utilisez > ou <, encadrez-le de guillemets pour éviter qu'il ne soit mal interprété comme une redirection de fichier.
Les triangles vides dans les coins, restant après la rotation de l'image, sont remplis avec la couleur d'arrière-plan.
Voir aussi l'opérateur -distort et plus particulièrement la méthode de distorsion « ScaleRotateTranslate ».
Les informations de page ou de canevas virtuel de l'image sont également pivotées. Utilisez un +repage pour supprimer les informations de page de canevas virtuel si elles ne sont pas souhaitées.
-rotational-blur angle
Floute autour du centre de l'image.
Cette opération s'appelait auparavant « -radial-blur ».
-sample geometry
Réduit / agrandit l'image par sous-échantillonnage et réplication de pixels, respectivement.
Change la taille de l'image simplement en échantillonnant directement les pixels d'origine de l'image. Lors de l'agrandissement, les pixels sont répliqués par blocs. Lors de la réduction, les pixels sont sous-échantillonnés (c'est-à-dire que certaines lignes et colonnes sont sautées).
Les résultats sont donc équivalents à l'utilisation de -resize avec un réglage -filter de point (plus proche voisin), bien que -sample soit beaucoup plus rapide, car il évite tout le traitement de filtrage de l'image. À ce titre, il ignore complètement le réglage -filter actuel.
La caractéristique clé de -sample est qu'aucune nouvelle couleur ne sera ajoutée à l'image résultante, bien que certaines couleurs puissent disparaître.
Voir Image Geometry pour tous les détails concernant l'argument geometry. Les décalages, s'ils sont présents dans la chaîne de géométrie, sont ignorés, contrairement à -resize.
Le point d'échantillonnage réel est le milieu de la sous-région échantillonnée. À ce titre, un échantillonnage d'un seul pixel d'une image prendra le pixel du milieu (ou en haut à gauche du milieu si l'image a des dimensions paires). Cependant, le -define 'sample:offset' peut être défini pour modifier cette position vers un autre emplacement au sein de chaque sous-région échantillonnée, sous forme de décalage en pourcentage.
Par défaut, cette valeur est « 50 » pour le point médian, mais elle peut être définie à « 0 » pour le coin supérieur gauche, « 100 » pour le coin inférieur droit, ou avec des décalages X et Y séparés tels que « 0x50 » pour le bord milieu gauche de la sous-région d'échantillonnage.
-sampling-factor horizontal-factorxvertical-factor
Facteurs d'échantillonnage utilisés par l'encodeur JPEG ou MPEG-2 et le décodeur/encodeur YUV.
Cette option spécifie les facteurs d'échantillonnage à utiliser par l'encodeur JPEG pour le sous-échantillonnage de la chrominance. Si cette option est omise, la bibliothèque JPEG utilisera ses propres valeurs par défaut. Lors de la lecture ou de l'écriture du format YUV et lors de l'écriture du format M2V (MPEG-2), utilisez -sampling-factor 2x1 ou -sampling-factor 4:2:2 pour spécifier la méthode de sous-échantillonnage 4:2:2.
-scale geometry
Réduit / agrandit l'image par moyennage de blocs de pixels et réplication de pixels, respectivement.
Modifie la taille de l'image simplement en remplaçant les pixels par le moyennage de pixels ensemble lors de la réduction, ou en remplaçant les pixels lors de l'agrandissement.
Les résultats sont donc équivalents à l'utilisation de -resize avec un réglage de -filter sur box. Bien que ce soit beaucoup plus rapide, car cela évite tout le traitement de filtrage de l'image. À ce titre, cela ignore complètement le réglage actuel de -filter.
Si, lors de la réduction (rétrécissement) des images, l'image originale est un multiple entier de la nouvelle taille d'image, le nombre de pixels moyennés ensemble pour produire la nouvelle couleur de pixel est le même sur l'ensemble de l'image. C'est un cas particulier connu sous le nom de « binning » et il est souvent utilisé comme méthode de réduction du bruit dans les images telles que celles générées par les appareils photo numériques, en particulier dans des conditions de faible luminosité.
-scene value
Définit le numéro de scène.
Cette option définit le numéro de scène d'une image ou de la première image d'une séquence d'images.
-screen
Spécifie l'écran à capturer.
Cette option indique que la requête GetImage utilisée pour obtenir l'image doit être effectuée sur la fenêtre racine, plutôt que directement sur la fenêtre spécifiée. De cette façon, vous pouvez obtenir des morceaux d'autres fenêtres qui chevauchent la fenêtre spécifiée, et plus important encore, vous pouvez capturer des menus ou d'autres fenêtres contextuelles qui sont des fenêtres indépendantes mais qui apparaissent au-dessus de la fenêtre spécifiée.
-script filename
Transfère le contrôle au fichier nommé.
-seed
Initialise une nouvelle séquence de nombres pseudo-aléatoires
-segment cluster-thresholdxsmoothing-threshold
Segmente les couleurs d'une image.
Segmente une image en analysant les histogrammes des composantes de couleur et en identifiant les unités homogènes avec la technique des c-moyennes floues (fuzzy c-means). Cela fait partie des routines de quantification des couleurs d'ImageMagick.
Spécifiez le seuil de cluster comme le nombre de pixels dans chaque cluster qui doit dépasser le seuil de cluster pour être considéré comme valide. Le seuil de lissage élimine le bruit dans la dérivée seconde de l'histogramme. À mesure que la valeur augmente, vous pouvez vous attendre à une dérivée seconde plus lisse. La valeur par défaut est 1,5.
Si le réglage -verbose est défini, un rapport détaillé des clusters de couleurs est renvoyé.
-selective-blur radius
-selective-blur radius{xsigma}{+threshold}
Floute sélectivement les pixels situés dans un seuil de contraste.
Floute les pixels dont le contraste est inférieur ou égal au seuil. Le seuil peut être exprimé comme une fraction de QuantumRange ou comme un pourcentage.
La valeur sigma est l'argument important, et elle détermine la quantité réelle de flou qui sera appliquée.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit être un entier. S'il n'est pas donné, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
-separate
Sépare un canal d'image en une image en niveaux de gris. Spécifiez le canal avec -channel.
-sepia-tone percent-threshold
Simule une photo en tons sépia.
Spécifiez le seuil comme le seuil en pourcentage de l'intensité (0 - 99,9 %).
Cette option applique un effet spécial à l'image, similaire à l'effet obtenu dans une chambre noire photographique par le virage sépia. Le seuil va de 0 à QuantumRange et est une mesure de l'étendue du virage sépia. Un seuil de 80 % est un bon point de départ pour un ton raisonnable.
-set key value
+set key
Définit les attributs et propriétés des images de la séquence d'images actuelle.
Cela assignera (ou modifiera) des réglages spécifiques attachés à toutes les images de la séquence d'images actuelle. L'utilisation de la forme +set de l'option supprimera, ou réinitialisera ce réglage à un état par défaut, selon le cas.
Par exemple, cela modifiera des « attributs » de métadonnées d'image bien connus tels que ceux normalement remplacés par : les options -delay, -dispose, et -page, -colorspace ; généralement assignés avant la lecture de l'image, en utilisant une clé du même nom.
Si la clé donnée ne correspond pas à un « attribut » connu spécifique, tel que montré ci-dessus, le réglage est stocké comme une chaîne de « propriété » de forme libre. Ces réglages sont listés dans les informations de -verbose (format de sortie « info: ») en tant que « Properties ».
Cela inclut les « propriétés » de type chaîne qui sont définies par et assignées aux images à l'aide des options -comment, -label, -caption. Ces options assignent en réalité un « artefact » global qui est automatiquement assigné (et tous les Échappements de pourcentage de format sont développés) aux images au fur et à mesure de leur lecture. Par exemple :
$ magick rose: -set Comment 'Rose is a rose is a rose is a rose' rose.jpg
identify -format %c rose.jpg
Rose is a rose is a rose is a rose
La valeur définie peut également utiliser Format et impression des propriétés d'image dans la valeur définie. Par exemple :
$ magick rose: -set origsize '%wx%h' -resize 50% \
-format 'Old size = %[origsize] New size = %wx%h' info:
Old size = 70x46 New size = 35x23
D'autres « propriétés » bien connues disponibles incluent : date:timestamp, date:create, date:modify, et signature.
L'opérateur -repage vous permettra également de modifier l'attribut « page » d'une image pour les images déjà en mémoire (voir aussi -page). Cependant, il est conçu pour fournir un contrôle plus fin des sous-parties de cet « attribut ». L'option -set page ne fournira qu'une assignation directe et non modifiée de l'attribut « page ».
Cette option peut également associer un espace colorimétrique ou un profil à votre image. Par exemple,
magick image.psd -set profile ISOcoated_v2_eci.icc image-icc.psd
Certaines « propriétés » doivent être définies d'une manière spécifique pour être utilisées. Par exemple, seules les « propriétés » préfixées par « filename: » peuvent être utilisées pour modifier le nom de fichier de sortie d'une image. Par exemple
magick rose: -set filename:mysize '%wx%h' 'rose_%[filename:mysize].png'
Si la valeur du réglage est préfixée par « option: », le réglage sera enregistré comme un « Artefact » global exactement comme s'il avait été défini à l'aide de l'option -define. Comme ces réglages sont de portée globale, ils peuvent être utilisés pour transmettre des « attributs » et des « propriétés » d'une image spécifique, d'une manière qui vous permet de les utiliser dans une image complètement différente, même si l'image originale a été modifiée ou détruite depuis longtemps. Par exemple :
magick rose: -set option:rosesize '%wx%h' -delete 0 \
label:'%[rosesize]' label_size_of_rose.gif"
Notez que les Échappements de pourcentage de format ne correspondront à un « artefact » que si la clé donnée ne correspond pas à un « attribut » ou à une « propriété » existant.
Vous pouvez définir les attributs du registre d'images en préfixant la valeur par registry:.
L'option -set profile peut également être utilisée pour injecter des morceaux auxiliaires précédemment formatés dans le fichier PNG de sortie, en utilisant l'option en ligne de commande comme montré ci-dessous ou en définissant le profil via une interface de programmation :
magick in.png -set profile PNG-chunk-x:<filename> out.png
où x est un indicateur d'emplacement et filename est un fichier contenant le nom du morceau dans les 4 premiers octets, puis un deux-points (« : »), suivi des données du morceau. Cet encodeur calculera la longueur du morceau et le CRC, ceux-ci ne doivent donc pas être inclus dans le fichier.
« x » peut être « b » (avant PLTE), « m » (milieu, c.-à-d. entre PLTE et IDAT), ou « e » (fin, c.-à-d. après IDAT). Si vous voulez écrire plusieurs morceaux du même type, ajoutez alors une courte chaîne unique après le « x » pour empêcher les profils suivants d'écraser les précédents, par ex.,
magick in.png -set profile PNG-chunk-b01:file01 \
-profile PNG-chunk-b02:file02 out.png
-shade azimuthxelevation
Ombre l'image à l'aide d'une source de lumière distante.
Spécifiez l'azimut et l'élévation comme la position de la source de lumière. Utilisez +shade pour renvoyer les résultats d'ombrage sous forme d'image en niveaux de gris.
-shadow percent-opacity{xsigma}{+-}x{+-}y{%}
Simule une ombre d'image.
-shared-memory
Utilise la mémoire partagée.
Cette option spécifie si l'utilitaire doit tenter d'utiliser la mémoire partagée pour les pixmaps. ImageMagick doit être compilé avec la prise en charge de la mémoire partagée, et l'affichage doit prendre en charge l'extension MIT-SHM. Sinon, cette option est ignorée. La valeur par défaut est True.
-sharpen radius
-sharpen radius{xsigma}
Accentue la netteté de l'image.
Utilise un opérateur gaussien du rayon et de l'écart-type (sigma) donnés.
La valeur sigma est l'argument important, et elle détermine la quantité réelle d'accentuation de netteté qui sera appliquée.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il doit être un entier. S'il n'est pas donné, ou s'il est fixé à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
-shave geometry
Rabote les pixels des bords de l'image.
La partie taille de l'argument geometry spécifie la largeur de la région à retirer des deux côtés de l'image et la hauteur des régions à retirer en haut et en bas. Les décalages sont ignorés.
Voir Géométrie d'image pour des détails complets sur l'argument geometry.
-shear Xdegrees[xYdegrees]
Cisaille l'image le long de l'axe des x et/ou de l'axe des y.
Les angles de cisaillement peuvent être positifs, négatifs ou nuls. Lorsque Ydegrees est omis, il prend par défaut la valeur de Xdegrees. Lorsque les deux angles sont donnés, la composante horizontale du cisaillement est effectuée avant la composante verticale.
Le cisaillement fait glisser un bord d'une image le long de l'axe des x ou de l'axe des y (c.-à-d. horizontalement ou verticalement, respectivement), créant un parallélogramme. L'ampleur de chacun est contrôlée par l'angle de cisaillement respectif. Pour les cisaillements horizontaux, Xdegrees est mesuré dans le sens des aiguilles d'une montre par rapport au « haut » (l'axe des y négatif), faisant glisser le bord supérieur vers la droite lorsque 0°<Xdegrees<90° et vers la gauche lorsque 90°<Xdegrees<180°. Pour les cisaillements verticaux, Ydegrees est mesuré dans le sens des aiguilles d'une montre par rapport à la « droite » (l'axe des x positif), faisant glisser le bord droit vers le bas lorsque 0°<Ydegrees<90° et vers le haut lorsque 90°<Ydegrees<180°.
Les triangles vides laissés par le cisaillement de l'image sont remplis avec la couleur définie par l'option -background. La couleur est spécifiée à l'aide du format décrit sous l'option -fill.
Le cisaillement horizontal est effectué avant la partie verticale. Il est important de le noter, car les cisaillements horizontaux et verticaux ne sont pas commutatifs, c.-à-d. que l'ordre importe dans une séquence de cisaillements. Par exemple, les deux commandes suivantes ne sont pas équivalentes.
magick logo: -shear 20x0 -shear 0x60 logo-sheared.png
convert logo: -shear 0x60 -shear 20x0 logo-sheared.png
La première des deux commandes ci-dessus est équivalente à la suivante, à l'exception de la quantité d'espace vide créé ; la commande qui suit génère une image plus petite, et constitue donc un meilleur choix en termes de temps et d'espace.
magick logo: -shear 20x60 logo-sheared.png
-sigmoidal-contrast contrastxmid-point
Augmente le contraste sans saturer les hautes lumières ni les ombres.
Augmente le contraste de l'image à l'aide d'une fonction de transfert sigmoïdale sans saturer les hautes lumières ni les ombres. Contrast indique de combien augmenter le contraste. Par exemple, 0 ne signifie aucun, 3 est typique et 20 est beaucoup.
Le mid-point indique où la « pente » de changement maximal de contraste doit se situer dans l'image résultante (0 est blanc ; 50 % est gris moyen ; 100 % est noir).
Par défaut, le contraste de l'image est augmenté, utilisez +sigmoidal-contrast pour diminuer le contraste.
Pour obtenir l'équivalent d'un changement de luminosité sigmoïdal (similaire à un ajustement gamma), vous utiliseriez -sigmoidal-contrast {brightness}x0% pour augmenter la luminosité et +sigmoidal-contrast {brightness}x0% pour diminuer la luminosité. Notez l'utilisation de « 0 » pour le point médian de la courbe sigmoïdale.
L'utilisation d'un contraste très élevé produira une sorte de « seuillage lissé » de l'image. Pas aussi net (avec des effets de crénelage élevés) qu'un véritable seuil, mais avec des niveaux de gris dégradés autour du point médian du seuil.
-silent
Fonctionne silencieusement. Cette option n'est utilisée que par l'outil import.
-similarity-threshold value
RMSE minimal pour la correspondance de sous-image.
Si ce réglage est utilisé, la recherche s'arrêtera dès qu'elle trouvera une correspondance dont la métrique est inférieure ou égale à la valeur. Une seconde image de sortie partiellement remplie en résultera. L'utilisation d'une valeur de zéro entraînera l'arrêt de la recherche à la première correspondance parfaite trouvée. Si ce réglage est omis, la recherche se poursuivra jusqu'à son terme ou selon la limite fixée par -dissimilarity-threshold.
-size width[xheight][+offset]
Définit la largeur et la hauteur de l'image.
Utilisez cette option pour spécifier la largeur et la hauteur des images brutes dont les dimensions sont inconnues, telles que GRAY, RGB ou CMYK. En plus de la largeur et de la hauteur, utilisez -size avec un décalage pour ignorer toute information d'en-tête dans l'image ou indiquer le nombre de couleurs dans un fichier image MAP (par ex. -size 640x512+256).
Pour les images Photo CD, choisissez parmi ces tailles :
192x128
384x256
768x512
1536x1024
3072x2048
-sketch radius
-sketch radius{xsigma}+angle
Simule un croquis au crayon.
Réalise un croquis avec le rayon, l'écart-type (sigma) et l'angle donnés. L'angle donné est l'angle vers lequel l'image est esquissée. C'est la direction d'où les gens considéreraient que l'objet provient.
-smush offset
Ajoute une séquence d'images ensemble en ignorant la transparence.
Smush est une version plus flexible de -append, joignant les images de la séquence de haut en bas (-smush) ou de gauche à droite (+smush), avec un espace entre les images selon le décalage spécifié.
Si le décalage est négatif, les images se chevaucheront de cette quantité.
-smush respecte -gravity. Tout espace vide sera rempli avec la couleur -background.
Pour un décalage nul et des images transparentes, les parties non transparentes des deux images seront alignées aussi étroitement que possible sans se chevaucher.
-snaps value
Définit le nombre de captures d'écran.
Utilisez cette option pour capturer plus d'une image de l'écran du serveur X, afin de créer une séquence d'animation.
-solarize percent-threshold
Inverse tous les pixels au-dessus du niveau de seuil.
Spécifiez le facteur comme le seuil en pourcentage de l'intensité (0 - 99,9 %).
Cette option produit un effet de solarisation observé lors de l'exposition d'un film photographique à la lumière pendant le processus de développement.
-sort-pixels
trie les pixels au sein de chaque ligne de balayage par ordre croissant d'intensité.
-sparse-color method 'x,y color ...'
colore l'image donnée en utilisant les points de couleur spécifiés, et remplit les autres couleurs intermédiaires à l'aide des méthodes indiquées.
- barycentric
- triangle à trois points de couleur défini par 3 points. Ne donner que 2 points formera un dégradé linéaire entre ces points. Le dégradé généré s'étend au-delà du triangle créé par ces 3 points.
- bilinear
- Comme barycentric mais pour 4 points. Moins de 4 points retombe sur barycentric.
- voronoi
- Associe simplement chaque pixel au point de couleur le plus proche donné. Le résultat est constitué de « cellules » polygonales de couleur unie.
- manhattan
- Comme voronoi, mais les « cellules » polygonales résultantes sont mappées sur un système de coordonnées fixe.
- shepards
- Points de couleur pondérés selon le rapport de l'inverse de la distance au carré. Génère des taches de couleur dans une mer formée de la moyenne des couleurs.
- inverse
- Points de couleur pondérés selon le rapport de l'inverse de la distance. Cela génère des points de couleur plus nets plutôt que les taches arrondies de « shepards ». Génère des taches de couleur dans une mer formée de la moyenne des couleurs.
Les points sont placés en fonction de l'emplacement de l'image sur le canevas virtuel (décalage -page ou -repage), et n'ont pas réellement besoin d'exister sur l'image donnée, mais peuvent être un point au-delà du bord de l'image. Tous les points sont des valeurs à virgule flottante.
Seuls les canaux de couleur définis par -channel sont modifiés, ce qui signifie que par défaut le canal de transparence matte/alpha n'est pas affecté. Généralement, le canal de transparence est désactivé soit avant soit après l'opération.
Bien entendu, si certains points de couleur sont transparents afin de générer un dégradé transparent, alors l'image nécessite également que la transparence soit activée pour stocker les valeurs.
Toutes les méthodes ci-dessus, lorsqu'on leur donne un unique point de couleur, remplaceront toutes les couleurs de l'image par la couleur donnée, indépendamment du point. C'est logique, et cela fournit une autre technique pour recolorer une image vers une valeur par défaut.
-splice geometry
Insère la couleur d'arrière-plan actuelle dans l'image.
Cela ajoutera des lignes et des colonnes de la couleur -background actuelle dans l'image donnée selon le réglage de géométrie -gravity indiqué. Voir Géométrie d'image pour tous les détails concernant l'argument geometry. Essentiellement, -splice divisera l'image en quatre quadrants, les séparant par les lignes et colonnes insérées.
Si une dimension de la géométrie est nulle, aucune ligne ni colonne ne sera ajoutée pour cette dimension. De même, l'utilisation d'un décalage nul avec le réglage -gravity approprié ajoutera des lignes et des colonnes aux bords de l'image, ne remplissant l'image que le long de ce seul bord. Le remplissage des bords est l'usage le plus courant de -splice.
Si exactement la même géométrie et le même -gravity sont utilisés ultérieurement avec -chop, toutes les insertions ajoutées sont supprimées.
-spread amount
Déplace les pixels de l'image d'une quantité aléatoire.
L'argument amount définit la taille du voisinage autour de chaque pixel à partir duquel choisir un pixel candidat à fusionner.
La recherche est contrôlée par le réglage -interpolate.
-statistic type geometry
Remplace chaque pixel par la statistique correspondante issue du voisinage.
Choisissez parmi ces types de statistiques :
- Contrast
- différence maximale (max - min) divisée par la valeur (max + min) dans le voisinage
- Maximum
- valeur maximale par canal dans le voisinage
- Gradient
- différence maximale (max - min) dans le voisinage
- Maximum
- valeur maximale par canal dans le voisinage
- Minimum
- valeur minimale par canal dans le voisinage
- Mean
- valeur moyenne par canal dans le voisinage
- Median
- valeur médiane par canal dans le voisinage
- Mode
- valeur du mode (la plus fréquente) par canal dans le voisinage
- Nonpeak
- valeur juste avant ou après la valeur médiane par canal dans le voisinage
- RMS
- valeur quadratique moyenne par canal dans le voisinage
- StandardDeviation
- valeur de l'écart type par canal dans le voisinage
-stegano offset
Dissimule un filigrane dans une image.
Utilisez un offset pour commencer à dissimuler l'image à un certain nombre de pixels depuis le début de l'image. Notez cet offset et la taille de l'image. Vous aurez besoin de ces informations pour récupérer l'image stéganographique (par exemple display -size 320x256+35 stegano:image.png).
-stereo +x{+y}
Compose deux images pour créer un anaglyphe stéréo rouge / cyan.
Le côté gauche de la paire stéréo (deuxième image) est enregistré comme le canal rouge de l'image de sortie. Le côté droit (première image) est enregistré comme les canaux vert et bleu. Des lunettes stéréo rouge-vert sont nécessaires pour visualiser correctement l'image stéréo.
-storage-type type
Type de stockage des pixels. Voici les types valides :
- char
- caractères non signés
- double
- doubles
- float
- flottants
- integer
- entiers
- long
- longs
- quantum
- pixels dans la profondeur native de votre distribution ImageMagick
- short
- shorts non signés
Les types float et double sont normalisés de 0.0 à 1.0, sinon les valeurs des pixels vont de 0 jusqu'à la valeur maximale que le type de stockage peut prendre en charge.
-stretch fontStretch
Définit un type de style d'étirement pour les polices.
Ce réglage suggère un type d'étirement qu'ImageMagick devrait essayer d'appliquer à la famille de polices actuellement sélectionnée. Sélectionnez fontStretch parmi les suivants.
Any
Condensed
Expanded
ExtraCondensed
ExtraExpanded
Normal
SemiCondensed
SemiExpanded
UltraCondensed
UltraExpanded
Pour imprimer une liste complète des types d'étirement, utilisez -list stretch.
Pour les autres réglages qui affectent les polices, voir les options -font, -family, -style et -weight.
-strip
Dépouille l'image de tous profils, commentaires ou de ces blocs PNG : bKGD,cHRM,EXIF,gAMA,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date. Pour supprimer le bloc d'orientation, orNT, réglez l'orientation sur undefined, par exemple -orient Undefined.
-stroke color
Couleur à utiliser lors du tracé du contour d'une primitive graphique.
La couleur est spécifiée en utilisant le format décrit sous l'option -fill.
Voir -draw pour plus de détails.
-strokewidth value
Définit la largeur du contour.
Voir -draw pour plus de détails.
-style fontStyle
Définit un style de police pour le texte.
Ce réglage suggère un style de police qu'ImageMagick devrait essayer d'appliquer à la famille de polices actuellement sélectionnée. Sélectionnez fontStyle parmi les suivants.
Any
Italic
Normal
Oblique
Pour les autres réglages qui affectent les polices, voir les options -font, -family, -stretch et -weight.
-subimage-search
Recherche une sous-image.
Cette option permet à la fonction compare de rechercher le meilleur emplacement correspondant d'une petite image au sein d'une image plus grande. Le processus de recherche génère une ou deux images de sortie (ou trames), selon que la métrique est accélérée ou non.
- La première sortie est l'image de différence.
- La seconde sortie, si présente, est l'image du score de similarité.
Lors de l'utilisation de la compilation d'ImageMagick activée pour HDRI et lorsque le délégué FFTW est installé, certaines métriques — NCC, MSE, RMSE, PSNR, PHASE et DPC — sont automatiquement accélérées au moyen d'un traitement par FFT (transformée de Fourier rapide). C'est le comportement par défaut. Cependant, en utilisant l'indicateur -define compare:frequency-domain=false, vous pouvez désactiver l'accélération FFT et opter à la place pour le traitement plus lent dans le domaine spatial, si vous le souhaitez.
L'image du score de similarité correspond aux dimensions de l'image plus grande. Chaque pixel de cette sortie représente une position potentielle pour le coin supérieur gauche de la petite image au sein de la plus grande. Le point le plus lumineux de l'image de similarité correspond au meilleur emplacement de correspondance. Pour les métriques accélérées par FFT, le score de similarité à cette position est également affiché entre crochets à côté des coordonnées de correspondance.
Il est important de noter que la meilleure correspondance dans l'image de similarité n'implique pas nécessairement une correspondance parfaite. La luminosité réelle du pic reflète la qualité de la correspondance. De plus, d'autres pics lumineux dans l'image de similarité peuvent indiquer d'autres emplacements de correspondance potentiels.
Les métriques diffèrent dans leur définition d'une correspondance parfaite. Pour des métriques comme MSE, RMSE, PSNR (MAE, FUZZ, DSIM et PHASH), une correspondance parfaite a une valeur de 0. À l'inverse, des métriques telles que NCC, PHASE, DPC, AE, PDC, PAE, MEPP et SSIM définissent une correspondance parfaite comme étant 1. Pour maintenir la cohérence, pour les métriques où la correspondance parfaite vaut 0, l'image de similarité est inversée, garantissant que le meilleur emplacement de correspondance apparaisse comme le point le plus lumineux, exactement comme pour les métriques dont la correspondance parfaite vaut 1.
-swap index,index
Échange les positions de deux images dans la séquence d'images.
Par exemple, -swap 0,2 échange la première et la troisième images de la séquence d'images actuelle. Utilisez +swap pour permuter les deux dernières images de la séquence.
-swirl degrees
Fait tourbillonner les pixels de l'image autour du centre.
Degrees définit l'intensité du tourbillon.
-synchronize
Synchronise l'image avec le périphérique de stockage.
Réglez sur « true » pour garantir que toutes les données de l'image sont entièrement vidées et synchronisées sur le disque. Il y a une pénalité de performance, mais les avantages incluent la garantie d'un fichier image valide en cas de plantage du système et un signalement précoce s'il n'y a pas assez d'espace disque pour le cache de pixels de l'image.
-taint
Marque l'image comme modifiée.
-text-font name
Police pour l'écriture de texte à chasse fixe.
Spécifie le nom de la police préférée à utiliser dans un texte formaté à chasse fixe (style machine à écrire). La valeur par défaut est Courier 14 points.
Vous pouvez étiqueter une police pour indiquer s'il s'agit d'une police PostScript, TrueType ou X11. Par exemple, Courier.ttf est une police TrueType et x:fixed est X11.
-texture filename
Nom de la texture à juxtaposer en mosaïque sur l'arrière-plan de l'image.
-threshold value{%}
Applique un seuil noir/blanc simultané à l'image.
Toutes les valeurs de pixel (plus précisément, les canaux définis avec -channel) qui dépassent le seuil spécifié se voient réattribuer la valeur de canal maximale, tandis que toutes les autres valeurs reçoivent la valeur minimale.
La valeur du seuil peut être donnée sous forme de pourcentage ou sous forme de valeur entière absolue correspondant à la valeur de canal souhaitée. Lorsqu'elle est donnée sous forme d'entier, la valeur minimale atteignable est 0 (correspondant au noir lorsque tous les canaux sont affectés), mais la valeur maximale (correspondant au blanc) est celle de la profondeur de quantum de la build particulière d'ImageMagick, et dépend donc de l'installation. Pour cette raison, une recommandation raisonnable pour la plupart des applications est de spécifier les valeurs de seuil sous forme de pourcentage.
Ce qui suit forcerait les pixels dont les valeurs de rouge sont supérieures à 50 % à avoir des valeurs de rouge à 100 %, tandis que ceux dont le rouge est inférieur ou égal à 50 % seraient mis à 0 dans le canal rouge. Les canaux vert, bleu et alpha (s'ils sont présents) resteraient inchangés.
magick in.png -channel red -threshold 50% out.png
Comme exemples (possiblement) peu pratiques mais instructifs, ce qui suit générerait une image entièrement noire et une image entièrement blanche ayant les mêmes dimensions que l'image d'entrée.
magick in.png -channel RGB -threshold 100% black.png
convert in.png -channel RGB -threshold -1 white.png
Voir aussi -black-threshold et -white-threshold.
-thumbnail geometry
Crée une vignette de l'image.
Cela est similaire à -resize, sauf que c'est optimisé pour la performance. De plus, les commentaires et les profils de couleur sont supprimés, et les propriétés Thumb sont définies. Cette option respecte -filter, par exemple, pour des performances supplémentaires mais avec une légère dégradation de la qualité, utilisez -filter box.
Voir Géométrie d'image pour tous les détails concernant l'argument geometry.
-tile filename
Définit l'image en mosaïque utilisée pour remplir une primitive graphique ultérieure.
-tile geometry
Spécifie la disposition des images.
Voir Géométrie d'image pour tous les détails concernant l'argument geometry.
-tile
Spécifie qu'une opération de composition ultérieure est répétée horizontalement et verticalement sur l'image.
-tile-offset {+-}x{+-}y
Spécifie le décalage des images en mosaïque, relatif à l'image d'arrière-plan sur laquelle elles sont juxtaposées.
Ceci doit être défini avant que l'image de mosaïque ne soit définie par -tile ou -texture, ou directement appliqué pour créer un canevas en mosaïque à l'aide des formats d'entrée TILE: ou PATTERN:.
En interne, ImageMagick effectue un -roll de l'image de mosaïque selon les arguments donnés lorsque l'image de mosaïque est définie.
-tint value
Teinte l'image avec la couleur de remplissage.
Teinte l'image avec la couleur de remplissage.
Spécifiez la quantité de teinte sous forme de pourcentage. Les couleurs pures comme le noir, le blanc, le rouge, le jaune ne seront pas affectées par -tint. Seules les couleurs de gamme moyenne telles que les diverses nuances de gris.
-title string
Attribue un titre à l'image affichée.", "animate", "display", "montage
Utilisez cette option pour attribuer un titre spécifique à l'image. Celui-ci est attribué à la fenêtre de l'image et est généralement affiché dans la barre de titre de la fenêtre. Vous pouvez éventuellement inclure le nom de fichier, le type, la largeur, la hauteur, les données Exif ou d'autres attributs de l'image en intégrant des caractères de format spéciaux décrits sous l'option -format.
Par exemple,
-title "%m:%f %wx%h"
produit un titre d'image MIFF:bird.miff 512x480 pour une image intitulée bird.miff dont la largeur est 512 et la hauteur 480.
-transform
Transforme l'image.
Cette option applique la matrice de transformation d'une option -affine précédente.
magick -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg
Cet opérateur a désormais été remplacé par la méthode -distort 'AffineProjection'.
-transparent color
Rend cette couleur transparente dans l'image.
L'argument color est défini en utilisant le format décrit sous l'option -fill. Le réglage -fuzz peut être utilisé pour faire correspondre et remplacer des couleurs similaires à celle donnée.
Utilisez +transparent pour inverser les pixels correspondants. C'est-à-dire rendre transparentes toutes les couleurs non correspondantes.
L'opérateur -opaque est exactement le même que -transparent mais remplace la couleur correspondante par le réglage de couleur -fill actuel, plutôt que par la transparence. Cependant, l'opérateur -transparent garantit également que l'image dispose d'un canal alpha activé, comme avec « -alpha set », et ne vous oblige pas à modifier -channel pour activer la gestion du canal alpha.
Notez que cela ne définit pas la couleur comme étant la « couleur de transparence » utilisée pour les formats d'image à couleurs indexées, tels que GIF. Pour cela, utilisez -transparent-color
-transparent-color color
Définit la couleur transparente.
Ceci est parfois utilisé lors de l'enregistrement vers des formats d'image tels que GIF et PNG8, qui utilisent cette couleur pour représenter la transparence booléenne. Cela ne rend pas une couleur transparente, cela définit seulement quelle couleur est la couleur transparente dans la palette de couleurs de l'image enregistrée. Utilisez -transparent pour rendre transparente une couleur opaque.
Cette option vous permet d'avoir à la fois une couleur opaque visible et une couleur transparente de la même valeur de couleur sans conflit. Autrement dit, vous pouvez utiliser la même couleur à la fois pour les zones de couleur transparente et opaque d'une image. Cela vous libère à son tour pour sélectionner une couleur transparente appropriée lorsqu'une image est affichée par une application qui ne gère pas un index de couleur transparente, tout en permettant à ImageMagick de gérer correctement les images de ce type.
La couleur transparente par défaut est #00000000, qui est un noir entièrement transparent.
-transpose
Met l'image en miroir le long de la diagonale du coin supérieur gauche au coin inférieur droit.
Cette option transpose mathématiquement le tableau de pixels. Elle équivaut à la séquence -flip -rotate 90.
-transverse
Met l'image en miroir le long de la diagonale du coin inférieur gauche au coin supérieur droit de l'image. Équivaut aux opérations -flop -rotate 90.
-treedepth value
Profondeur de l'arbre pour l'algorithme de réduction des couleurs.
Normalement, cette valeur entière est zéro ou un. Une valeur de zéro ou un entraîne l'utilisation d'une profondeur d'arbre optimale pour l'algorithme de réduction des couleurs.
Une profondeur optimale permet généralement la meilleure représentation de l'image source avec la vitesse de calcul la plus rapide et la moindre quantité de mémoire. Cependant, la profondeur par défaut est inappropriée pour certaines images. Pour garantir la meilleure représentation, essayez des valeurs comprises entre 2 et 8 pour ce paramètre. Reportez-vous à l'algorithme de réduction des couleurs pour plus de détails.
L'option -colors ou -monochrome, ou l'écriture vers un format d'image qui nécessite une réduction des couleurs, est requise pour que cette option prenne effet.
-trim
Rogne une image.
Cette option supprime tous les bords qui sont exactement de la même couleur que les pixels d'angle. Utilisez -fuzz pour faire en sorte que -trim supprime les bords qui sont presque de la même couleur que les pixels d'angle.
Les informations de page ou de canevas virtuel de l'image sont préservées, ce qui vous permet d'extraire le résultat de l'opération -trim de l'image. Utilisez un +repage pour supprimer les informations de page du canevas virtuel si elles ne sont pas souhaitées.
Si l'image rognée « disparaît », un avertissement est produit, et une image « manquée » spéciale d'un seul pixel transparent est renvoyée, de la même manière que lorsqu'une opération -crop « manque » l'image proprement dite.
Utilisez -define trim:percent-background=0% pour supprimer tout l'arrière-plan de l'image. La quantité d'arrière-plan tolérée dans un bord, spécifiée en pourcentage. 0 % signifie qu'aucun arrière-plan n'est toléré. 50 % signifie qu'un bord peut contenir jusqu'à 50 % de pixels qui sont de l'arrière-plan selon le facteur de fuzz.
Utilisez -define trim:edges={north,east,south,west} séparés par des virgules pour rogner uniquement les bords spécifiés de l'image, par ex. -define trim:edges=north,south -fuzz 5% -trim.
Utilisez -define trim:minSize=geometry pour limiter le rognage à la taille spécifiée.
Utilisez -background background-color pour identifier la couleur d'arrière-plan entourant la région d'intérêt.
Les pixels entièrement transparents sont généralement traités comme s'ils n'avaient pas de couleur ou comme si leur couleur était sans importance. Lors de la comparaison de deux pixels qui sont tous deux entièrement transparents, ils sont souvent considérés comme égaux. Cela signifie que tous les attributs liés à leur couleur sont ignorés dans le processus d'évaluation.
-type type
Le type d'image.
Choisissez parmi : Bilevel, Grayscale, GrayscaleAlpha, Palette, PaletteAlpha, TrueColor, TrueColorAlpha, ColorSeparation, ou ColorSeparationAlpha.
Normalement, lorsqu'un format prend en charge différents sous-formats tels que niveaux de gris et couleurs vraies, l'encodeur tentera de choisir un sous-format efficace. L'option -type peut être utilisée pour remplacer ce comportement. Par exemple, pour empêcher un JPEG d'être écrit au format niveaux de gris même si seuls des pixels gris sont présents, utilisez.
magick bird.png -type TrueColor bird.jpg
De même, utilisez -type TrueColorAlpha pour forcer l'encodeur à écrire un canal alpha même si l'image est opaque, si le format de sortie prend en charge la transparence.
Utilisez -type optimize pour garantir que l'image est écrite avec la plus petite taille de fichier possible.
-undercolor color
Définit la couleur de la boîte englobante de l'annotation.
La couleur est spécifiée en utilisant le format décrit sous l'option -fill.
Voir -draw pour plus de détails.
-update seconds
Détecte quand le fichier image est modifié et le réaffiche.
Supposons que pendant que vous affichez une image, le fichier actuellement affiché est écrasé. display détectera automagiquement que le fichier d'entrée a été modifié et mettra à jour l'image affichée en conséquence.
-unique-colors
Élimine tous les pixels d'une même couleur sauf un.
-units type
Les unités de résolution de l'image.
Choisissez parmi : Undefined, PixelsPerInch, ou PixelsPerCentimeter. Cette option est normalement utilisée conjointement avec l'option -density.
-unsharp radius
-unsharp radius{xsigma}{+gain}{+threshold}
Accentue l'image avec un opérateur de masque flou (unsharp mask).
L'option -unsharp accentue une image. L'image est convoluée avec un opérateur gaussien du rayon et de l'écart-type (sigma) donnés. Pour des résultats raisonnables, le rayon devrait être plus grand que sigma. Utilisez un rayon de 0 pour laisser la méthode sélectionner un rayon approprié.
La valeur sigma est l'argument important, et détermine la quantité réelle d'accentuation qui aura lieu.
Le rayon n'est utilisé que pour déterminer la taille du tableau qui contient la distribution gaussienne calculée. Il devrait être un entier. S'il n'est pas donné, ou défini à zéro, IM calculera le plus grand rayon possible qui fournira des résultats significatifs pour la distribution gaussienne.
Les paramètres sont :
- radius
- Le rayon de la gaussienne, en pixels, sans compter le pixel central (par défaut 0).
- sigma
- L'écart-type de la gaussienne, en pixels (par défaut 1.0).
- gain
- La fraction de la différence entre l'image originale et l'image floue qui est rajoutée dans l'image originale (par défaut 1.0).
- threshold
- Le seuil, en tant que fraction de QuantumRange, nécessaire pour appliquer la quantité de différence (par défaut 0.05).
-verbose
Affiche des informations détaillées sur l'image lorsque cette option précède l'option -identify ou info:.
-version
Affiche la chaîne de version d'ImageMagick et quitte.
-view string
Paramètres de visualisation FlashPix.
-vignette radius{xsigma}{+-}x{+-}y{%}
Adoucit les bords de l'image dans un style de vignette.
L'atténuation de l'effet de vignette est contrôlée par radiusxsigma. Pour une atténuation nominale, ceci serait défini à 0xsigma. Une valeur de 0x0 produira un cercle/une ellipse sans atténuation. Les arguments x et y contrôlent la taille du cercle. Des valeurs plus grandes diminuent les rayons et des valeurs plus petites augmentent les rayons. Des valeurs de +0+0 généreront un cercle/une ellipse de la même taille que l'image. Les valeurs par défaut pour x et y sont de 10 % de la dimension d'image correspondante. Ainsi, les rayons seront diminués de 10 %, c.-à-d. que les diamètres du cercle/de l'ellipse seront de 80 % de la dimension d'image correspondante. Notez que le symbole de pourcentage dans une géométrie affecte x et y, tandis que radius et sigma sont absolus (par ex. -vignette "0x2+10%+10%").
-virtual-pixel method
Spécifie le contenu des pixels virtuels.
Cette option définit quelle source de couleur devrait être utilisée si et quand une recherche de couleur « manque » complètement l'image source. La ou les couleurs qui semblent entourer l'image source. Généralement cette couleur est dérivée de l'image source, mais elle pourrait aussi être définie comme une couleur d'arrière-plan spécifique.
Choisissez parmi ces méthodes :
- background
- la zone entourant l'image est la couleur d'arrière-plan
- black
- la zone entourant l'image est noire
- checker-tile
- alterne des carrés avec l'image et la couleur d'arrière-plan
- dither
- motif tramé 32x32 non aléatoire
- edge
- étend le pixel de bord vers l'infini
- gray
- la zone entourant l'image est grise
- horizontal-tile
- juxtapose l'image horizontalement, couleur d'arrière-plan au-dessus/en dessous
- horizontal-tile-edge
- juxtapose l'image horizontalement et réplique les pixels du bord latéral
- mirror
- juxtapose l'image en miroir
- random
- choisit un pixel aléatoire de l'image
- tile
- juxtapose l'image (par défaut)
- transparent
- la zone entourant l'image est d'un noir transparent
- vertical-tile
- juxtapose l'image verticalement, les côtés sont de la couleur d'arrière-plan
- vertical-tile-edge
- juxtapose l'image verticalement et réplique les pixels du bord latéral
- white
- la zone entourant l'image est blanche
La valeur par défaut est « edge ».
Ceci est le plus important pour les opérateurs de distorsion tels que -distort, -implode, et -fx. Cependant, cela affecte aussi les opérations qui peuvent accéder aux pixels juste à l'extérieur de l'image proprement dite, telles que -convolve, -blur, et -sharpen.
Pour afficher une liste complète des types de pixels virtuels, utilisez l'option -list virtual-pixel.
-visual type
Anime les images en utilisant ce type de visual X.", 'animate', 'display'
Choisissez parmi ces classes de visual :
StaticGray TrueColor
GrayScale DirectColor
StaticColor default
PseudoColor visual id
Le serveur X doit prendre en charge le visual que vous choisissez, sinon une erreur se produit. Si un visual n'est pas spécifié, la classe de visual qui peut afficher le plus de couleurs simultanées sur l'écran par défaut est choisie.
-watermark brightnessxsaturation
Appose un filigrane sur une image en utilisant les pourcentages donnés de luminosité et de saturation.
Prend une image en niveaux de gris (avec masque alpha) et modifie la luminosité de l'image de destination en fonction de la valeur de niveaux de gris de l'image de filigrane et du pourcentage de luminosité. L'attribut de saturation des couleurs de la destination est simplement modifié directement par le pourcentage de saturation, qui est par défaut de 100 pour cent (aucun changement de couleur).
-wave amplitude
-wave amplitudexwavelength
Cisaille les colonnes d'une image en une onde sinusoïdale.
-wavelet-denoise threshold
-wavelet-denoise thresholdxsoftness
Supprime le bruit de l'image en utilisant une transformée en ondelettes. Le seuil est la valeur en dessous de laquelle tout est considéré comme du bruit et va de 0.0 (aucun) à QuantumRange ou utilisez un pourcentage (par ex. 5%). La douceur (softness) atténue le seuil et va généralement de 0.0 (aucune, par défaut) à 1.0. Plus la valeur est élevée, plus il reste de bruit dans l'image.
-weight fontWeight
Définit une graisse de police pour le texte.
Ce réglage suggère une graisse de police qu'ImageMagick devrait essayer d'appliquer à la famille de police actuellement sélectionnée. Utilisez un entier positif pour fontWeight ou sélectionnez parmi les valeurs suivantes.
- Thin
- Identique à fontWeight = 100.
- ExtraLight
- Identique à fontWeight = 200.
- Light
- Identique à fontWeight = 300.
- Normal
- Identique à fontWeight = 400.
- Medium
- Identique à fontWeight = 500.
- DemiBold
- Identique à fontWeight = 600.
- Bold
- Identique à fontWeight = 700.
- ExtraBold
- Identique à fontWeight = 800.
- Heavy
- Identique à fontWeight = 900.
Pour afficher une liste complète des types de graisse, utilisez -list weight.
Pour d'autres réglages qui affectent les polices, voir les options -font, -family, -stretch, et -style.
-white-balance
Applique une balance des blancs à une image selon une hypothèse de monde gris (grayworld) dans l'espace colorimétrique LAB.
Utilisez -define white-balance:vibrance=value{%} pour modifier la vibrance des couleurs des canaux a et b.
-white-point x,y
Point blanc de chromaticité.
-white-threshold value{%}
Force au blanc tous les pixels au-dessus du seuil tout en laissant inchangés tous les pixels au seuil ou en dessous.
La valeur du seuil peut être donnée en pourcentage ou en tant que valeur entière absolue dans [0, QuantumRange] correspondant à la valeur -channel souhaitée. Voir -threshold pour plus de détails sur les seuils et les valeurs résultantes.
-window id
Fait de l'image l'arrière-plan d'une fenêtre.", 'animate', 'display'
id peut être un id ou un nom de fenêtre. Spécifiez root pour sélectionner la fenêtre racine de X comme fenêtre cible.
Par défaut, l'image est juxtaposée sur l'arrière-plan de la fenêtre cible. Si backdrop ou -resize sont spécifiés, l'image est entourée de la couleur d'arrière-plan. Reportez-vous à X RESOURCES pour plus de détails.
L'image ne s'affichera pas sur la fenêtre racine si l'image a plus de couleurs uniques que la palette de couleurs de la fenêtre cible ne l'autorise. Utilisez -colors pour réduire le nombre de couleurs.
-window-group
Spécifie le groupe de fenêtres.
-word-break type
Définit si les sauts de ligne apparaissent partout où le texte déborderait autrement de sa boîte de contenu. Choisissez parmi normal, la valeur par défaut, ou break-word.
-write filename
Écrit une séquence d'images.
La séquence d'images précédant l'option -write filename est écrite, et le traitement continue avec la même image dans son état actuel s'il y a des options supplémentaires. Pour restaurer l'image à son état d'origine après l'avoir écrite, utilisez l'option +write filename.
Utilisez -compress pour spécifier le type de compression d'image.
-write-mask filename
Empêche les mises à jour des pixels de l'image spécifiés par le masque.
Ceci est identique à l'utilisation d'un masque utilisé pour les opérations de masquage de composition, avec des valeurs de niveaux de gris provoquant des mises à jour mélangées de l'image à laquelle le masque est attaché.
Utilisez +write-mask pour supprimer le masque des images.
Voir aussi -clip-mask qui fonctionne de la même manière, mais avec un masquage booléen strict.