⚠️ Ceci est un site de traduction non officiel, sans lien avec ImageMagick Studio LLC. Pour des informations officielles, consultez la page originale (https://imagemagick.org/command-line-options/).

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...

  1. le format de fichier de l'image de sortie n'autorise pas les fichiers multi-images,
  2. l'option +adjoin est fournie, ou
  3. 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.

affine transformation

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.

annotate transformation

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 :

distribution gaussienne

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.212656
R+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.33333
R+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.2988390
R+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.212656
R+0.715158G+0.072186B ; semblable à une intensité
Cb=(−0.114572R−0.385428G+0.500000B)+(QuantumRange+1)/2
Cr=(0.500000
R−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.2126729
R+0.7151522G+0.0721750B
Z=0.0193339R+0.1191920G+0.9503041B
YCC
Y=(0.298839
R+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.70100
R−0.586811G−0.114350B) (avec une mise à l'échelle complexe)
YCbCr
Y=0.2988390R+0.5868110G+0.1143500B ; semblable à une intensité
Cb=(−0.168736
R−0.331264G+0.500000B)(QuantumRange+1)/2
Cr=(0.500000
R−0.418688G−0.081312B)(QuantumRange+1)/2
YIQ
Y=0.298839
R+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.168736
R−0.331264G+0.500000B)(QuantumRange+1)/2
Pr=(0.500000
R−0.418688G−0.081312B)(QuantumRange+1)/2
YUV
Y=0.298839
R+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,

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 :

distribution gaussienne

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.

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.