Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Contrôle des écrêtages en temps réel
#4
Bonjour,

Additif et mise à jour

Dans cette dernière version j’ai uniformisé les formules et rajouté quelques filtres.

[Image: France-Hughes-Siptrott-1.jpg]
Cette photo représente une statue réalisée par France&Hughes Siptrott.
J’ai optimisé et uniformisé toutes les formules et j’ai rajouté quelques filtres pour améliorer le repérage des écrêtages ainsi que la possibilité de s’affranchir complètement de l’utilisation du réglage Niveaux…
Dans le cadre bleu on a les filtres qui concernent le contrôle de la luminosité et dans le cadre rouge ceux qui analysent spécifiquement les écrêtages dans chaque canal de couleur. Bien sûr cette pléthore de filtres ne signifie pas qu’il faille les utiliser pour chaque photo mais on a le choix et on peut choisir ce qui convient le mieux en fonction du contexte ou modifier certains filtres pour les adapter à ses exigences.

[Image: France-Hughes-Siptrott-2.jpg]
Filtre Ecretage_TousTGB
   Ce filtre met en évidence les zônes où les trois canaux R,V,B sont écrêtés :
  • en BLEU les pixels entièrement noirs
  • en ROUGE les pixels entièrement blancs
[Image: France-Hughes-Siptrott-3.jpg]
Le filtre Ecretage_TousRGB_Noir

Il fait la même chose que le filtre précédent mais avec un fond noir.


[Image: France-Hughes-Siptrott-4.jpg]
Le filtre Ecretage_RGBA nous l’avons déjà décrit précédemment:
Il met en évidence chaque canal R,V,B écrêté avec un code couleur différent pour chaque situation.

[Image: France-Hughes-Siptrott-5.jpg]
Le filtre Ecretage_RGBA _ColPrim.
Ce filtre fait la même chose que le filtre précédent Ecretage_RGBA mais avec un code couleur différent :
Pour chaque canal écrêté R,V ou B c’est la couleur écrêtée qui apparaît. Cela signifie par exemple qu’une tache Rouge indique que le canal Rouge est écrêté dans les Tons foncés ou dans les Tons clairs et idem pour le Vert ou le Bleu.

[Image: France-Hughes-Siptrott-6.jpg]
Le filtre Ecretage _RGBA_FdNoir utilise le même code couleur que le filtre précédent mais avec un Fond Noir.
Lorsque les trois canaux R,V et B sont écrêtés on obtient Blanc.

[Image: France-Hughes-Siptrott-7.jpg]
Le filtre Ecretage _RGBA_FdBlanc fait la même chose que le filtre précédent mais avec un code couleur inverse. On a ainsi :
  • Cyan pour le Rouge écrêté
  • Magenta pour le Vert écrêté
  • Jaune pour le Bleu écrêté
Les règles d’addition sont toujours les mêmes ainsi :
  • Lorsque 2 couleurs sont écrêtées on obtient l’addition de ces couleurs. Exemple :Si le Rouge et le Vert sont écrêtés cela nous donnera du Bleu (Bleu = Cyan+Magenta).
  • Si les 3 couleurs sont écrêtées ont obtiendra du Noir (Cyan+Magenta+Jaune).

Comment comprendre et modifier ces formules :

ex: var L=(max(R,G,B)+min(R,G,B))/2; var nb=roundup(b/255-L); var na=roundup(L-a/255); var Y=na*nb; Y*R+(1-Y)*(1-nb)
« var » définit les variables
L représente le critère (Luminosité, canal R ou V ou B,…...)
a et b sont des paramètres modifiables qui représentent l’intervalle au-delà duquel le critère L est écrêté. Pour normaliser ces variables, on utilise a/255 et b/255 dans les formules.
Les valeurs de ces variables normalisées sont comprises entre 0 et 1.
*A noter: on peut utiliser la valeur b=254.9 mais on ne peut pas utiliser la valeur b=255


Les autres variables servent à des calculs intermédiaires pour simplifier l'écriture et ne prennent que 2 valeurs 0 ou 1.
Ainsi on aura :
  • na =0 si L est inférieur à a/255 et nb =0 si L est supérieur à b/255
  • na =1 et nb =1 si L se trouve dans l’intervalle [a/255,b/255]
  • Y=na*nb aura ainsi comme valeur 1 si L se trouve dans l’intervalle et 0 si L est en dehors de l’intervalle.
La dernière expression qui n’est pas précédée par var représente la formule finale dont le résultat sera affecté au canal sélectionné. (R,V,B,A).
A noter que V dans l’interface correspond à G dans les formules.

Exemple : Je souhaite l’affichage de Ecretage_Luminosité sur un fond noir .
Ici le noir va remplacer l’affichage des pixels non écrêtés de l’image. Ce qui correspond à L dans l’intervalle[a/255,b/255] et donc à Y=1
Dans la formule on a Y*R ou Y*G ou Y*B.
var L=(max(R,G,B)+min(R,G,B))/2; var nb=roundup(b/255-L); var na=roundup(L-a/255); var Y=na*nb; Y*R+(1-Y)*na
Il suffit donc de supprimer ces expressions dans chaque ligne on obtient ainsi la formule :
var L=(max(R,G,B)+min(R,G,B))/2; var nb=roundup(b/255-L); var na=roundup(L-a/255); var Y=na*nb; (1-Y)*na

Tous ces filtres mis à jour sont disponibles à l’adresse suivante :
ECRETAGE :https://drive.google.com/file/d/1mShXracjzfKo_yw5Ve3ZsQd7v-D0rw44/view?usp=sharing

Remerciements : merciii
Remerciements à Ldina qui m’a transmis le lien vers l’article de Lisbon que je ne connaissais pas. Cet article m’a donné l’idée de compléter cette petite contribution avec d’autres filtres :
  • Clipping Warnings In Photo Persona
  • By Lisbon Posted July 29, 2021
  • https://forum.affinity.serif.com/index.php?/topic/146606-clipping-warnings-in-photo-persona/#comment-816382
Petit conseil: Idea
Ne pas oublier de désactiver les filtres avant d’exporter une image pour éviter de se retrouver avec des pixels colorés pas toujours visibles au premier coup d’œil.
Vos applications :
  • > Affinity Photo Windows
  • > Affinity Designer Windows
  • > Affinity Publisher Windows
  • > Affinity by Canva Windows
- Version : 2
  


Messages dans ce sujet
RE: Contrôle des écrêtages en temps réel - par Andre - 10-03-25, 14:43:49

Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)