Changer contraste / luminositÉ (l'algorithme)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 979 fois - Téléchargée 38 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
Apaachee Messages postés 248 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 25 août 2011
26 oct. 2010 à 15:06
Ou précises-tu le réglage de la luminosité/contraste ?
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
11 févr. 2010 à 08:14
Merci Nizarfakhfakh pour cette précision
nizarfakhfakh Messages postés 1 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 2 février 2010
2 févr. 2010 à 00:02
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
majed_la7 Messages postés 1 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 8 octobre 2007
8 oct. 2007 à 10:55
salut,
s'il te plait de précisé un peu les variables utilisées et leuers types
merci
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
30 sept. 2007 à 10:31
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

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.