Changer contraste / luminositÉ (l'algorithme)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 708 fois - Téléchargée 36 fois

Contenu du snippet

Voici l'algorythme pour changer le contraste et la luminosité d'une image.
A appliquer sur chaque pixel de l'image :

Source / Exemple :


//Luminosité :
R := round(R * ( 1 + intens / 100));
G := round(G * ( 1 + intens / 100));
B := round(B * ( 1 + intens / 100));

//Contraste:
R := round(R + intens / 100 * (R-127));
G := round(G + intens / 100 * (G-127));
B := round(B + intens / 100 * (B-127));

Conclusion :


N'oubliez pas que R,G et B doivent rester entre 0 et 255 :-)

Source : http://digilander.libero.it/gensavas/francosava/grafica/docs/c_grafica7/Regolazione%20di%20una%20immagine.htm

A voir également

Ajouter un commentaire

Commentaires

cs_Jean_Jean
Messages postés
641
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
13 décembre 2018
2 -
Salut fabiin,

Ton exemple sur le contraste m'intéressait.
Mais dans ta formule : R := round(R + intens / 100 * (R-127));
R est un Byte de la couleur R. Et Intens? Tu ne la définit pas?
Pour moi, Intens est la valeur R du RGB compris entre 0 et 255.
Peux-tu nous éclairer?
Merci
Jean_Jean
majed_la7
Messages postés
1
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
8 octobre 2007
-
salut,
s'il te plait de précisé un peu les variables utilisées et leuers types
merci
nizarfakhfakh
Messages postés
1
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
2 février 2010
-
Salut,
'intens' est a priori l'intensité du pixel obtenue à partir de ses composantes couleur.
intens = 0,3 R + 0,6 G + 0,1 B
cs_Jean_Jean
Messages postés
641
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
13 décembre 2018
2 -
Merci Nizarfakhfakh pour cette précision
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
-
Ou précises-tu le réglage de la luminosité/contraste ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.