Bonjour,
Je souhaite écrire une fonction simple qui augmente ou diminue le contraste d'une image.
En entrée j'ai un tableau d'entiers [0 .... 255] qui représentent un niveau de gris. Voilà ce que j'ai pu trouver pour augmenter le contraste :
Indications : MAXGL = 255 , value est le niveau de gris (entier entre 0 et 255), et factor est le facteur de contraste (afin de l'augmenter plus ou moins selon le cas).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int myClass::upContrast(int value, int factor) { value += (factor / 10) * (value - 127); (value > MAXGL)? value = MAXGL : value; (value < 0)? value = 0 : value; return value; }
J'ai essayé avec un value -= .... pour la diminution mais la formule doit changer car ce n'est pas ca. Une idée?
Partager