Convertion image en niveau gris

Résolu/Fermé
rferv Messages postés 3 Date d'inscription dimanche 3 janvier 2021 Statut Membre Dernière intervention 22 janvier 2021 - Modifié le 4 janv. 2021 à 13:26
 Greg - 13 avril 2021 à 15:09
Salut,
Pourriez vous m'aidez pour corriger le programme afin de pouvoir convertir l’image en niveaux de gris.
Voici ce que j'ai déjà fait :
import PIL
from PIL import Image

fichier_image ="D/m/photo.jpg" #à modifier !

#On essaie d'ouvrir le fichier image
try:
   image_couleur = Image.open(fichier_image)
except IOError:
    print ('Erreur sur ouverture du fichier ' + fichier_image)

# récupération de la largeur et hauteur de l'image
image_couleur=fichier_image
nb_colonne,nb_ligne = image_couleur

# création d'une image de même type
image_niveaux_gris = Image.new(image_couleur.mode,image_couleur.size)

#boucle de traitement des pixels
for ligne in range(nb_ligne):
    for colonne in range(nb_colonne):
        rouge,vert,bleu = image_couleur.getpixel((colonne,ligne)) # récupération du pixel
        # [https://www.commentcamarche.net/download/telecharger-34056674-calcul calcul] du poids de chaque composante du gris dans le pixel
        gris = int(0.299*rouge + 0.114*vert + 0.144*bleu) # a modifier
        # en gris les 3 composantes RGB sont identiques
        pixel_niveau_gris = (7,7,7) #a modifier
        # composition de la nouvelle image
        image_niveaux_gris.putpixel((colonne,ligne), pixel_niveau_gris)

# affichage de l'image
image_niveaux_gris.show()

# sauvegarde du nouveau fichier image niveaux de gris
image_niveaux_gris.save("D/m/photo.jpg") #à modifier

# fermeture du fichier image
image_niveaux_gris.close()

Merci d'avance
A voir également:

2 réponses

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
4 janv. 2021 à 09:41
Bonjour,

L'indentation étant importante en Python, merci de poster ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

def test():
    print('test')

test()
0
jee pee Messages postés 39712 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 12 mai 2024 9 270
4 janv. 2021 à 13:33
Bonjour,

J'ai inséré les balises sur ta question comme indiqué par Phil_1857, mais pense bien à le faire la prochaine fois.

Le code, tu l'as écrit ou recopié ? Car dans ce dernier cas il est surtout important que tu le décortiques pour comprendre ce qu'il fait.

Il n'est pas loin de fonctionner.

Moi je vois des modifications/corrections à apporter en lignes 13, 14, 26 et 34
-1
rferv Messages postés 3 Date d'inscription dimanche 3 janvier 2021 Statut Membre Dernière intervention 22 janvier 2021
22 janv. 2021 à 00:31
Dsl je l'ai déjà fini. J'ai trouvé mes erreur. C'était tout bête !
0
Greg > rferv Messages postés 3 Date d'inscription dimanche 3 janvier 2021 Statut Membre Dernière intervention 22 janvier 2021
13 avril 2021 à 15:09
Bonjour est-ce que tu peux me le montrer stp ?
0