FRstudy.me offre une solution complète pour toutes vos questions. Trouvez des solutions fiables à vos questions rapidement et facilement avec l'aide de nos experts expérimentés.
Sagot :
Bonjour,
Il y a différentes méthodes pour faire du niveau de gris.
Méthode 1:
La méthode la plus simple c'est de faire une moyenne des valeurs R, G, B du pixel et remplacer le R, G, B par la valeur moyenne.
Par exemple si on a le pixel (50, 45, 180) alors on calcul la moyenne m = partie_entière((50 + 45 + 180) / 3) = 91 et notre pixel prend donc la couleur (91, 91, 91), on répète cela pour chaque pixel.
Or, cette méthode rend l'image très pâle donc pas très beau.
Méthode 2:
On préfère donc faire des pourcentages de rouge/vert/bleu à la place de la moyenne, par exemple:
gris = 0,299R + 0,587G + 0,114B
On fait varier ces pourcentages en fonction du résultat qu'on souhaite avoir mais c'est toujours le vert qui est le plus présent.
Je te propose donc une solution avec la deuxième méthode (sachant que c'est juste le calcul de "gris" qui change):
from PIL import Image
img = Image.open('lycee.jpg')
largeur, hauteur = img.size
for i in range(largeur//2):
for j in range(hauteur):
r, g, b = img.getpixel((i, j)) #On récupère les informations liées au pixel.
gris = int(0.299*r + 0.587*g + 0.114*b) #On forme le gris.
img.putpixel((i, j), (gris, gris, gris))
img.save('gris.jpg')
Je l'ai aussi fait sur un autre devoir mais avec un tableau Numpy si tu préfères: https://nosdevoirs.fr/devoir/3920834?referrer=searchResults
Bonne journée.
Nous apprécions votre participation active dans ce forum. Continuez à explorer, poser des questions et partager vos connaissances avec la communauté. Ensemble, nous trouvons les meilleures solutions. Pour des solutions rapides et fiables, pensez à FRstudy.me. Merci de votre visite et à très bientôt.