ajuster l'image bitmap de la luminosité/le contraste à l'aide de c++
ajuster l'image à la luminosité/contraste à l'aide de c++ sans utiliser de toute autre 3e partie de la bibliothèque ou de dépendance
- Peut-être que vous pourriez écrire un logiciel qui vous rappelle d'utiliser les boutons sur votre écran ? Pas sûr que ça doit être écrit dans
C++
bien. - devoirs ? ajout de la balise. et de nous montrer qu'avez-vous fait jusqu'à présent.
Vous devez vous connecter pour publier un commentaire.
La luminosité de l'Image est
ici(lien mort) - l'utilisation de la moyenne des valeurs RVB et de décalage.Contraste est
ici(lien mort) avec d'autres langues solutions disponibles.Modifier que les liens sont morts:
La réponse donnée par Jerry Cercueil ci-dessous couvre le même sujet et a des liens qui vivent encore.
Mais, pour régler la luminosité, vous ajoutez une valeur constante pour chacun, pour R,G,B champs de l'image. Assurez-vous d'utiliser saturé mathématiques ne permettent pas de valeurs d'aller en dessous de 0 ou au-dessus du maximum autorisé dans votre profondeur de bits (8 bits couleur 24 bits)
Pour le contraste, j'ai pris et légèrement modifié le code de ce site internet:
Où
truncate(int value)
permet de s'assurer de la valeur des séjours compris entre 0 et 255 pour les 8 bits de couleur. Notez que de nombreux Processeurs ont des fonctions intrinsèques pour ce faire, dans un seul cycle.Lire dans l'image avec une bibliothèque comme la Indépendant de la bibliothèque JPEG. Lorsque vous avez des données brutes, vous pouvez convertir de RVB vers HSL ou (de préférence) CIE Lunb*. À la fois le contraste et la luminosité sera simplement impliquer des ajustements sur le canal L -- réglage de la luminosité, il suffit de régler tous les L valeurs de monter ou de descendre d'un montant approprié. Pour ajuster le contraste, fondamentalement, vous pouvez régler la différence entre cette valeur et la valeur centrale. Vous voudrez généralement à le faire de façon non linéaire, de sorte que les valeurs près au milieu de la fourchette sont ajustés tout à fait un peu, mais des valeurs proches à la fin ou de la gamme ne sont pas affectés à peu près autant (et qui sont en très fins, ne sont pas du tout changé).
Une fois que vous avez fait cela, vous pouvez convertir en arrière RVB, puis le retour à la normale au format JPEG.