Les images sont stockées sous forme de valeurs de pixels qui proviennent de l'appareil photo selon une loi quasi-linéaire, ce qui signifie que pour les zones du ciel qui ne présentent aucune caractéristique visible, la valeur du pixel sera proche de zéro, mais pour les objets brillants comme les étoiles, elle sera proche d'une valeur maximale en fonction de l'exposition et du gain. Entre les deux, si une nébuleuse a une magnitude de surface égale à la moitié de celle d'une étoile, elle aura des valeurs de pixels égales à la moitié de celles de l'étoile, et ainsi de suite. C'est ce que nous appelons le mode linéaire des pixels.
L'œil humain ne voit pas les photons de cette manière. Il amplifie les zones sombres, de sorte qu'un objet dix fois moins lumineux qu'un autre semble deux fois moins lumineux. Pour les images d'astronomie, nous affichons généralement les images avec une mise à l'échelle similaire des valeurs de pixels (voir les modes d'affichage de l'interface graphique).
Mais ce n'est qu'une astuce d'affichage, utilisant une fonction de transfert d'écran, pour rendre les valeurs de pixels de l'image intacte en images de meilleure qualité.
L'étirement d'image consiste à faire quelque chose de similaire, mais en modifiant les valeurs des pixels des images au lieu de simplement modifier leur rendu. Siril dispose de trois outils principaux pour y parvenir.
La transformation asinh, ou sinus hyperbolique inverse, modifie les valeurs des pixels de l'image d'une manière similaire à ce que l'on peut voir avec la fonction asinh de mise à l'échelle des pixels de l'écran, qui est paramétrée par les curseurs de coupure des valeurs basses et hautes. Ici, les paramètres sont le facteur d'étirement et la valeur du point noir.
où rgb_original est calculé en utilisant les valeurs des pixels des trois canaux.
Il est également possible de sélectionner un mode de clipping.
Théorie
Comme rgb_original est une moyenne des 3 canaux, les valeurs d'un ou deux canaux seront supérieures à rgb_original et peuvent donc s'écrêter. Cela peut provoquer des artefacts de couleur lorsque des régions claires et fortement colorées sont étirées. Afin d'éviter ce problème, l'algorithme d'écrêtage par mélange RVB a été développé par les auteurs de l'outil original GHSastro : les mêmes algorithmes sont disponibles dans l'implémentation de Siril, et il s'agit du mode d'écrêtage par défaut pour les étirements nécessitant une gestion de l'écrêtage. Les valeurs \((r, g, b)\) sont d'abord étirées sur la base de la valeur de luminance rgb_original pour donner \((r', g', b')\). Ensuite, les valeurs \((r, g, b)\) originales sont étirées indépendamment pour donner \((r'', g'', b'')\). Enfin, on identifie la plus grande valeur de \(k\) telle que
\(k \times r' + ( 1 - k ) \times r'' ≤ 1\);
\(k \times g' + ( 1 - k ) \times g'' ≤ 1\);
et
\(k \times b' + ( 1 - k ) \times b'' ≤ 1\)
Les valeurs transformées sont ensuite calculées comme suit
\(( k \times r' + ( 1 - k ) \times r'', k \times g' + ( 1 - k ) \times g'', k \times b' + ( 1 - k ) \times b'')\)
Cet algorithme d'écrêtage des mélanges RVB est également utilisé pour les transformations d'étirement hyperbolique généralisé décrites ci-dessous.
D'autres choix d'algorithme d'écrêtage sont disponibles :
Écrêter - ce mode d'écrêtage laisse simplement s'écrêter toute composante de couleur qui s'écrête, mais restreint les valeurs à la plage 0,0 à 1,0. Cela peut souffrir d'artefacts colorés tels que des franges autour des étoiles presque saturées, mais c'est extrêmement rapide à calculer.
Rééchelonner - ce mode d'écrêtage vérifie les composantes R, V et B de chaque pixel et, si l'une d'entre elles est > 1,0, redimensionne le pixel de sorte qu'aucune composante ne soit écrêtée. Cette méthode est sujette aux artefacts et est principalement incluse pour une équivalence fonctionnelle avec le plugin GHSastro. Elle est rapide à calculer.
Rééchelonnement global - ce mode d'écrêtage se comporte de manière similaire à Rééchelonner, sauf que la mise à l'échelle est calculée globalement au lieu de pixel par pixel. Cela évite le type d'artefacts que Rééchelonner peut produire, mais a un impact plus important sur la luminosité globale de l'image. C'est plus rapide à calculer que Mélange RVB, mais plus lent que Écrêter ou Rééchelonner.
Lorsque l'option Utiliser la luminance à pondération humaine n'est pas cochée, rgb_original est la moyenne des trois valeurs de pixels ; lorsqu'elle est cochée, la pondération passe à 0,2126 pour la valeur rouge, 0,7152 pour la valeur verte et 0,0722 pour la valeur bleue, ce qui permet d'obtenir des résultats plus proches de l'équilibre des couleurs perceptuel humain.
Ligne de commande Siril
asinh [-human] stretch { [offset] [-clipmode=] }
Etire l'image pour montrer les objets peu lumineux en utilisant une transformation hyperbolique arcsin. L'argument obligatoire stretch, généralement compris entre 1 et 1000, indique l'intensité de l'étirement. Le point noir peut être décalé en fournissant un argument optionnel offset dans la valeur normalisée du pixel [0, 1]. Enfin, l'option -human permet d'utiliser les facteurs d'efficacité lumineuse de l'œil humain pour déterminer la luminance utilisée pour calculer la valeur d'étirement pour chaque pixel, au lieu de la simple moyenne des valeurs de pixel des canaux. Cette méthode d'étirement préserve la luminosité de l'espace colorimétrique La*b*. Le mode clip peut être défini à l'aide de l'argument -clipmode= : les valeurs clip, rescale, rgbblend ou globalrescale sont acceptées et la valeur par défaut est rgbblend
Transformation de la fonction de transfert de la tonalité moyenne (MTF)
La MTF est l'un des outils les plus puissants pour étirer l'image. Elle peut être facilement automatisée et c'est pourquoi la vue auto-étirée l'utilise.
Boite de dialogue de la transformation de l'histogramme
L'outil se présente sous la forme d'un histogramme avec 3 curseurs (en forme de triangle placé en dessous) qu'il faut déplacer pour transformer l'image. Le triangle de gauche représente le signal des ombres, celui de droite les hautes lumières et enfin, celui du milieu le paramètre de balance des tons moyens. Les valeurs de ces curseurs sont affichées sous l'histogramme, à gauche, et peuvent être modifiées directement à la main. Ci-contre, le pourcentage de pixels écrêtés par la transformation : il est important de ne pas écrêter trop de pixels. Si seul le paramètre des tons moyens est modifié, aucun pixel ne peut être écrêté.
Théorie
La nouvelle valeur de pixel est calculé grâce à la fonction :
Il n'est généralement pas recommandé de modifier la valeur des hautes lumières, sinon elles seront saturées et l'information sera perdue.
La barre d'outils contient de nombreux boutons qui affectent la visualisation de l'histogramme. Vous pouvez choisir d'afficher l'histogramme d'entrée, l'histogramme de sortie, la courbe de transfert et la grille. Le bouton permet d'appliquer la même transformation que l'algorithme d'auto ajustement. Il est rarement conseillé d'utiliser ce bouton tel quel. Des ajustements sont généralement nécessaires pour éviter de perdre des informations.
Astuce
Lorsque le bouton est enfoncé, les curseurs ainsi que les champs lo, mid et hi deviendront temporairement inactifs. Vous devez appliquer l'auto ajustement avec le bouton Appliquer pour que les contrôles se réactivent. Vous pouvez alors appliquer des ajustements comme un second étirement de suivi. Ce comportement évite les problèmes lorsque le profil ICC du moniteur diffère du profil ICC de l'image.
En haut de l'histogramme, il est également possible de choisir d'afficher l'histogramme en mode logarithmique, comme dans l'illustration. Ce comportement peut être rendu par défaut comme expliqué ici. Enfin, un zoom en X est disponible. Ceci est très utile lorsque tout le signal est concentré sur la gauche de l'histogramme.
Astuce
Si une ROI est définie, l'aperçu de l'histogramme MTF ne se mettra pas à jour pour montrer l'impact de l'étirement sur la ROI. En effet, ce comportement pourrait être trompeur : si la ROI n'est pas représentative de l'image dans son ensemble, ajuster l'histogramme de la ROI à un niveau approprié entraînerait un histogramme mal ajusté pour l'image globale, et potentiellement un résultat brûlé ou excessivement sombre. En mode ROI, les paramètres d'étirement doivent être ajustés à l'œil. Si vous souhaitez vérifier l'histogramme de l'étirement tel qu'appliqué à l'image dans son ensemble, la ROI doit être effacée.
Ligne de commande Siril
mtf low mid high [channels]
Applique la fonction de transfert des demi-tons à l'image actuellement chargée.
Trois paramètres sont nécessaires, low, midtones et high où le paramètre de balance des tons moyens définit un étirement non linéaire de l'histogramme dans la plage [0,1]. Pour une détermination automatique des paramètres, voir AUTOSTRETCH.
Le paramètre optionnel [channels] peut être utilisé pour spécifier les canaux auxquels appliquer l'étirement : il peut s'agir de R, G, B, RG, RB ou GB. La valeur par défaut est tous les canaux
mtf est également une fonction qui peut être utilisée dans l'outil PixelMath.
Ligne de commande Siril
autostretch [-linked] [shadowsclip [targetbg]]
Etire automatiquement l'image actuellement chargée, avec des paramètres différents pour chaque canal (non lié) à moins que -linked ne soit fourni. Les arguments sont optionnels, shadowclip est le point d'écrêtage des ombres, mesuré en unités sigma à partir du pic de l'histogramme principal (la valeur par défaut est -2.8), targetbg est la valeur cible de l'arrière-plan, donnant une luminosité finale à l'image, plage [0, 1], la valeur par défaut est 0.25. Les valeurs par défaut sont celles utilisées dans le rendu Auto-Ajustement à partir de l'interface graphique.
N'utilisez pas la version non liée après l'étalonnage des couleurs, car elle modifierait la balance des blancs
Appliquer la transformation à la séquence
Cette transformation peut facilement être appliquée à une séquence. Il suffit de définir la transformation sur l'image chargée (avec une séquence déjà chargée), puis de cocher le bouton Appliquer à la séquence et de définir le préfixe de sortie de la nouvelle séquence (stretch_ par défaut), ou d'utiliser la commande suivante :
Ligne de commande Siril
seqmtf sequencename low mid high [channels] [-prefix=]
Même commande que pour MTF mais pour la séquence sequencename.
Le nom de la séquence de sortie commence par le préfixe "mtf_", sauf indication contraire avec l'option -prefix=
Il s'agit de l'outil le plus performant et le plus moderne de Siril, mais aussi le plus complexe à apprendre. Un tutoriel très détaillé pour cet outil dans Siril a été écrit par les auteurs de cet algorithme : https://siril.org/tutorials/ghs. Nous nous contenterons ici de résumer le fonctionnement de base de cet outil.
Boite de dialogue de la transformé hyperbolique généralisée
En d'autres termes, le SGH est capable d'améliorer le contraste d'une gamme de niveaux de luminosité dans une image. Par exemple, si l'on souhaite mieux voir les détails dans la partie de luminosité moyenne à élevée d'une nébuleuse (qui est en général très faible dans une image d'astronomie), il est possible de ne sélectionner que cette plage pour l'étirement. L'outil est très efficace pour améliorer le contraste des objets principaux sans rendre les étoiles trop grosses. L'outil est basé sur une utilisation itérative, c'est-à-dire qu'il étire toutes les plages de luminosité de l'image l'une après l'autre, par petites touches.
Pour ce faire, l'outil s'appuie fortement sur l'affichage et l'interaction de l'histogramme, pour chaque canal de couleur. La fonction de transformation, en forme d'hyperbole ou de 'S', peut être modifiée en déplaçant son centre (le paramètre SP - point de symétrie), en aplatissant l'une ou l'autre de ses extrémités (avec les protections ombre et haute lumière), et bien sûr sa torsion (facteurs d'étirement D et d'étirement local b). La manipulation de ces paramètres sur une petite image (pour aller vite) avec une valeur SP de 0,5 vous aidera à comprendre leur effet.
Il y a deux opérations principales à effectuer à chaque itération : sélectionner la plage de lumières à modifier, et la modifier effectivement. La sélection de la plage est assez facile, il s'agit de trouver une valeur représentative (SP) et de définir la largeur de la plage (b). La définition de SP peut se faire de trois manières :
en sélectionnant une zone de luminosité identique dans l'image et en cliquant sur le bouton du sélecteur
cliquer directement sur l'histogramme avec un clic gauche (il est possible de zoomer dans l'histogramme en utilisant le bouton + en haut à gauche)
en utilisant le curseur ou les boutons plus et moins qui lui sont associés ou directement la valeur.
La largeur de la plage dépend de l'étirement local. Une valeur élevée de b créera une petite plage et augmentera le contraste sur une petite plage de luminosité dans l'image.
La modification de l'histogramme une fois que l'emplacement du changement a été fixé est une opération plus complexe. L'un des objectifs fixés par les auteurs de l'algorithme est de faire en sorte que la vue logarithmique de l'histogramme (activée en cochant la case) soit aussi proche que possible d'une ligne décroissante. Pour ce faire, des bosses doivent être creusées et des vallées comblées. Voici un guide rapide des valeurs à utiliser en fonction de ce que l'on souhaite obtenir :
Étirement initial à partir de linéaire : réglez SP légèrement à gauche du pic principal, modérez b à partir de 6, augmentez D légèrement pour commencer à voir l'objet principal. Ne pas trop étirer à ce stade comme le ferait un auto ajustement, sinon les étoiles deviendraient trop grosses (principale section du tutoriel pour cela).
Amélioration du contraste d'une plage ou remplissage d'une vallée : réglez SP au centre de la vallée dans l'histogramme, réglez b aussi haut que la plage ou la vallée est étroite, diminuez HP pour préserver les étoiles, augmentez D lentement jusqu'à ce que l'amélioration apparaisse.
Diminuer le contraste d'une plage ou aplanir un pic : La diminution d'un pic n'est pas facile à réaliser, mais elle est un effet secondaire du remplissage des vallées. Par exemple, la création d'un pic, ou le remplissage d'une vallée, diminuera ce qui se trouve à gauche de SP. Une autre possibilité consiste à utiliser la transformation inverse, à partir de la liste déroulante Type d'étirement, et une valeur LP élevée, et HP à 1.
déplacer la courbe vers la gauche, rendant l'image plus sombre : souvent, si l'on étire tout l'histogramme, le pic se déplace vers la droite, rendant l'arrière-plan trop lumineux. Il existe un moyen simple de tout déplacer vers la gauche, en sélectionnant dans la liste déroulante Type d'étirement la dernière entrée, Étirement linéaire (décalage BP). Il n'y a plus qu'un seul curseur à déplacer, contrôlant l'ampleur du déplacement.
Astuce
Si une ROI est définie, l'aperçu de l'histogramme GHT ne se mettra pas à jour pour montrer l'impact de l'étirement sur la ROI. En effet, ce comportement pourrait être trompeur : si la ROI n'est pas représentative de l'image dans son ensemble, ajuster l'histogramme de la ROI à un niveau approprié entraînerait un histogramme mal ajusté pour l'image globale, et potentiellement un résultat brûlé ou excessivement sombre. En mode ROI, les paramètres d'étirement doivent être ajustés à l'œil. Si vous souhaitez vérifier l'histogramme de l'étirement tel qu'appliqué à l'image dans son ensemble, la ROI doit être effacée.
Certaines opérations sont également courantes pour les images couleurs, où l'on souhaite souvent obtenir une forme de courbe similaire pour les trois canaux, en travaillant sur chaque canal indépendamment en les désélectionnant à l'aide des trois cercles colorés situés sous la vue de l'histogramme :
La transformation hyperbolique généralisée sur une image couleur
déplacement du pic vers la droite : un simple étirement avec une valeur SP à gauche du pic le fera en général, donc cela devrait être fait dans le cadre d'un étirement.
étaler un pic : pour étirer un peu plus un canal et lui donner plus d'importance dans le résultat final, sans trop changer l'emplacement du pic, réglez SP près du pic ou légèrement à sa droite, réglez b en fonction de la contribution attendue sur l'ensemble du canal, entrez une valeur négative si l'impact doit se faire sentir jusqu'au niveau des étoiles (pour changer leur couleur) et une valeur élevée si cela ne concerne qu'une nébuleuse, augmentez D pour obtenir la largeur cible du pic, puis décalez le pic vers la gauche en diminuant HP.
bouger tous les canaux ensemble : une alternative d'étirement de la luminance existe, voir la combo box Modèle d'étirement de couleur en haut à droite de la fenêtre GHS, en utilisant l'une ou l'autre des valeurs d'étirement de la luminance permet d'étirer la luminance et de réappliquer les couleurs sur celle-ci au lieu d'étirer directement les trois canaux. Les modes de luminance permettent de mieux préserver les couleurs de l'image. Ces modes utilisent le même mode d'écrêtage du mélange RVB décrit ci-dessus pour éviter les artefacts d'écrêtage des canaux de couleur.
Saturation de l'image : ** Les transformations GHS peuvent être appliquées au canal de saturation de l'image en sélectionnant l'option Saturation dans la liste déroulante *Modèle d'étirement des couleurs*. Lorsque ce mode est sélectionné, les histogrammes de saturation avant et après l'étirement sont affichés en jaune. Toutes les options du GHS sont disponibles et ce mode permet un ajustement très ciblé du canal de saturation de l'image. Une méthode simple pour augmenter la saturation dans les régions relativement non saturées tout en évitant la sursaturation consiste à utiliser un étirement par **transformation hyperbolique généralisée inverse avec SP fixé à environ 0,5 et HP abaissé suffisamment pour aplatir l'extrémité supérieure de l'histogramme de saturation.
In order to control partially-clipped highlights, the GHS tool makes available the
same range of clipping modes as the asinh stretch. Details can be found here.
L'image ci-dessus montre comment l'application de l'outil GHS au canal de saturation permet de renforcer fortement la saturation d'une image à faible saturation tout en conservant le contrôle de la partie supérieure de l'histogramme de saturation. Cette image a été utilisée pour créer une image "Lune minérale" mettant en évidence les différentes compositions minérales des différentes régions de la surface lunaire.
Étirement hyperbolique généralisé basé sur le travail de l'équipe ghsastro.co.uk.
L'argument -D= définit la force de l'étirement, entre 0 et 10. C'est le seul argument obligatoire. Les arguments facultatifs suivants permettent de mieux adapter l'étirement :
B définit l'intensité de l'étirement près du point focal, entre -5 et 15 ;
LP définit une plage de préservation des ombres entre 0 et SP où l'étirement sera linéaire, préservant les détails d'ombre ;
SP définit le point de symétrie de l'étirement, entre 0 et 1, qui est le point auquel l'étirement est le plus intense ;
HP définit une région entre HP et 1 où l'étirement est linéaire, préservant les détails de la mise en évidence et évitant le gonflement des étoiles.
Si elle est omise, B, LP et SP ont une valeur par défaut de 0.0 et HP a une valeur par défaut de 1.0.
Un argument facultatif (soit -human, -even ou -independent, peut être passé pour sélectionner la luminance pondérée humaine ou pondérée paire ou les canaux de couleur indépendants pour les étirements de couleur). L'argument est ignoré pour les images mono. Alternativement, l'argument -sat spécifie que l'étirement est effectué sur la saturation de l'image - l'image doit être en couleur et tous les canaux doivent être sélectionnés pour que cela fonctionne.
En option, le paramètre [channels] peut être utilisé pour spécifier les canaux auxquels appliquer l'étirement : il peut s'agir de R, V, B, RV, RB ou VB. La valeur par défaut est « tous les canaux ». Le mode clip peut être défini à l'aide de l'argument -clipmode= : les valeurs clip, rescale, rgbblend ou globalrescale sont acceptées et la valeur par défaut est rgbblend
Inverse un étirement hyperbolique généralisé. Il s'agit de la transformation inverse de l'étirement hyperbolique généralisé. S'il est fourni avec les mêmes paramètres, il annule une commande d'étirement hyperbolique généralisé, ce qui permet de revenir à une image linéaire. Il peut également fonctionner de la même manière que le GHT, mais pour des images en négatif
Étirement arcsinh modifié basé sur le travail de l'équipe ghsastro.co.uk.
L'argument -D= définit la force de l'étirement, entre 0 et 10. C'est le seul argument obligatoire. Les arguments facultatifs suivants permettent de mieux adapter l'étirement :
LP définit une plage de préservation des ombres entre 0 et SP où l'étirement sera linéaire, préservant les détails d'ombre ;
SP définit le point de symétrie de l'étirement, entre 0 et 1, qui est le point auquel l'étirement est le plus intense ;
HP définit une région entre HP et 1 où l'étirement est linéaire, préservant les détails de la mise en évidence et évitant le gonflement des étoiles.
Si elle est omise, LP et SP ont une valeur par défaut de 0.0 et HP a une valeur par défaut de 1.0.
Un argument facultatif (soit -human, -even ou -independent, peut être passé pour sélectionner la luminance pondérée humaine ou pondérée paire ou les canaux de couleur indépendants pour les étirements de couleur). L'argument est ignoré pour les images mono. Alternativement, l'argument -sat spécifie que l'étirement est effectué sur la saturation de l'image - l'image doit être en couleur et tous les canaux doivent être sélectionnés pour que cela fonctionne.
En option, le paramètre [channels] peut être utilisé pour spécifier les canaux auxquels appliquer l'étirement : il peut s'agir de R, V, B, RV, RB ou VB. La valeur par défaut est « tous les canaux ». Le mode clip peut être défini à l'aide de l'argument -clipmode= : les valeurs clip, rescale, rgbblend ou globalrescale sont acceptées et la valeur par défaut est rgbblend
Inverse un étirement arcsinh modifié. Il fournit la transformation inverse de MODASINH et, s'il est fourni avec les mêmes paramètres, il annule une commande MODASINH, ce qui permet de revenir à une image linéaire. Il peut également fonctionner de la même manière que MODASINH, mais pour des images en négatif
Étire linéairement l'image jusqu'à un nouveau point noir BP.
Le paramètre optionnel [channels] peut être utilisé pour spécifier les canaux auxquels appliquer l'étirement : il peut s'agir de R, G, B, RG, RB ou GB. La valeur par défaut est tous les canaux.
En option, le paramètre -sat peut être utilisé pour appliquer l'étirement linéaire au canal de saturation de l'image. Cet argument ne fonctionne que si tous les canaux sont sélectionnés. Le mode d'écrêtage peut être défini à l'aide de l'argument -clipmode= : les valeurs clip, rescale, rgbblend ou globalrescale sont acceptées, la valeur par défaut étant rgbblend
Appliquer la transformation à la séquence
Cette transformation peut facilement être appliquée à une séquence. Il suffit de définir la transformation sur l'image chargée (avec une séquence déjà chargée), puis de cocher le bouton Appliquer à la séquence et de définir le préfixe de sortie de la nouvelle séquence (stretch_ par défaut). Toutes les commandes ont également une version de traitement en séquence. Chaque commande d'étirement de séquence commence par seq et le premier argument doit être le nom de la séquence, mais ils sinon elles sont les mêmes.
Même commande que GHT, mais la séquence doit être spécifiée comme premier argument. En outre, l'argument optionnel -prefix= peut être utilisé pour définir un préfixe personnalisé
Identique à la commande INVGHT, mais s'applique à une séquence qui doit être spécifiée comme premier argument. En outre, l'argument facultatif -prefix= peut être utilisé pour définir un préfixe personnalisé
Même commande que MODASINH, mais la séquence doit être spécifiée comme premier argument. En outre, l'argument optionnel -prefix= peut être utilisé pour définir un préfixe personnalisé
Identique à la commande INVMODASINH, mais s'applique à une séquence qui doit être spécifiée comme premier argument. En outre, l'argument facultatif -prefix= peut être utilisé pour définir un préfixe personnalisé
Identique à la commande INVGHT, mais s'applique à une séquence qui doit être spécifiée comme premier argument. En outre, l'argument facultatif -prefix= peut être utilisé pour définir un préfixe personnalisé
La transformation par courbes est un outil très polyvalent utilisé pour ajuster le contraste et la luminosité d'une image en modifiant les valeurs de pixels selon une courbe définie sur mesure. Cela permet un contrôle précis de l'étirement de l'image.
La courbe est définie par une série de points, chacun pouvant être déplacé pour ajuster la courbe. La courbe est interpolée entre ces points, et les valeurs de pixels sont transformées en fonction de celle-ci. Cela permet d'appliquer un large éventail de transformations à l'image, allant des simples étirements linéaires aux ajustements non linéaires complexes.
Boîte de dialogue de la transformation par courbes
Deux algorithmes d'interpolation sont disponibles dans la boîte de dialogue de la transformation par courbes : linéaire et spline cubique.
Théorie
L'interpolation linéaire est une interpolation simple qui relie les points par des lignes droites. Pour chaque paire de points, la pente de la ligne reliant les points est calculée :
Les courbes spline cubiques sont des courbes plus complexes définies par une série de points de contrôle. Pour une valeur de pixel \(x\) comprise entre deux points de contrôle \(x_i\) et \(x_{i+1}\), la courbe est définie par l'équation suivante :
Pour \(x_i < x < x_{i+1}\), les coefficients \(a_i, b_i, c_i\) et \(d_i\) sont calculés en résolvant un système d'équations dérivées des conditions de continuité et de lissage en chaque point interne. Ces conditions sont :
La spline doit être continue en chaque point interne,
La dérivée première de la spline doit être continue en chaque point interne,
La dérivée seconde de la spline doit être continue en chaque point interne
Comme la transformation par courbes utilise des splines cubiques naturelles, la dérivée seconde aux deux extrémités est 0.
Avertissement
La transformation par courbes n'est disponible que comme outil de l'interface graphique et ne peut pas être utilisée depuis la ligne de commande.
La transformation par courbes peut afficher l'histogramme de l'image selon deux modes : linéaire et logarithmique. Vous pouvez basculer entre ces modes en cliquant sur la case à cocher Échelle logarithmique en haut de l'histogramme. L'échelle logarithmique est utile pour les images à large plage dynamique, car elle permet de voir plus clairement l'histogramme dans les ombres et les hautes lumières.
Astuce
Si une ROI est définie, l'aperçu de l'histogramme ne se mettra pas à jour pour montrer l'impact de l'étirement sur la ROI. En effet, ce comportement pourrait être trompeur : si la ROI n'est pas représentative de l'image dans son ensemble, ajuster l'histogramme de la ROI à un niveau approprié entraînerait un histogramme mal ajusté pour l'image globale, et potentiellement un résultat brûlé ou excessivement sombre. En mode ROI, les paramètres d'étirement doivent être ajustés à l'œil. Si vous souhaitez vérifier l'histogramme de l'étirement tel qu'appliqué à l'image dans son ensemble, la ROI doit être effacée.
Voici quelques utilisations courantes de l'outil Transformation par courbes :
Courbe en "S" : Cette courbe sert à augmenter le contraste d'une image. En accentuant la pente de la courbe au milieu de l'histogramme, le contraste est augmenté.
Ajustements PN et PB : le point noir (PN) et le point blanc (PB) d'une image peuvent être ajustés en déplaçant les premier et dernier points de contrôle de la courbe. Cela permet d'ajuster indépendamment les ombres et les hautes lumières de l'image.
Exemple de réglage du point noir et du point blanc d'une image
Ajustements ciblés : en ajoutant des points de contrôle à des emplacements spécifiques de l'histogramme, des ajustements ciblés peuvent être apportés à l'image. Par exemple, les ombres peuvent être assombries sans affecter les autres parties de l'image.
L'outil de transformation par courbes est préférable à utiliser sur une image déjà étirée dans une certaine mesure. Cela permet un contrôle plus précis du contraste et de la luminosité de l'image.
Cette transformation peut facilement être appliquée à une séquence. Il suffit de définir la transformation sur l'image chargée (avec une séquence déjà chargée), puis de cocher le bouton Appliquer à la séquence et de définir le préfixe de sortie de la nouvelle séquence (curve_ par défaut).