Laurentvidal.fr vous aide à trouver des réponses à toutes vos questions grâce à une communauté d'experts passionnés. Découvrez une mine de connaissances d'experts dans différentes disciplines sur notre plateforme de questions-réponses complète. Obtenez des réponses immédiates et fiables à vos questions grâce à une communauté d'experts expérimentés sur notre plateforme.

Bonjour j'ai avancé dans mon devoir de SNT mais ne parvient pas à mettre mon image en niveau de gris et ect..., en effet, j'ai une fiche explicative très succincte que je ne comprend guère plus... Auriez-vous l'amabilité de m'aider ? Voici l'énoncé et la fiche en fichier joint :
En utilisant le fichier aide_algo_photos.png, qui indique de manière très succincte les différentes manipulations permettant de modifier les couleurs d’un pixel, a vous de créer les images suivantes :

Image en nuance de gris :


Image en négatif :

Modification de l’image : apparition d’une diagonale :

(les images sont également ci-jointes)
Merci de votre patience ainsi que de votre gentillesse :)

Bonjour Jai Avancé Dans Mon Devoir De SNT Mais Ne Parvient Pas À Mettre Mon Image En Niveau De Gris Et Ect En Effet Jai Une Fiche Explicative Très Succincte Que class=
Bonjour Jai Avancé Dans Mon Devoir De SNT Mais Ne Parvient Pas À Mettre Mon Image En Niveau De Gris Et Ect En Effet Jai Une Fiche Explicative Très Succincte Que class=
Bonjour Jai Avancé Dans Mon Devoir De SNT Mais Ne Parvient Pas À Mettre Mon Image En Niveau De Gris Et Ect En Effet Jai Une Fiche Explicative Très Succincte Que class=
Bonjour Jai Avancé Dans Mon Devoir De SNT Mais Ne Parvient Pas À Mettre Mon Image En Niveau De Gris Et Ect En Effet Jai Une Fiche Explicative Très Succincte Que class=

Sagot :

Bonjour,

Tu as mes essais sur une image de Fumseck ci-joint.

Modules utiles:

from PIL import Image

import numpy as np #Disponible sur Spyder, Jupyter (il me semble), EduPython peut-être mais pas directement sur l'IDLE de Python.

Image colorée:

image = np.array(Image.open("image.png")) #On récupère l'image sous forme de tableau Numpy.

nb_l, nb_c = image.shape[0], image.shape[1]

for i in range(nb_l): #Parcours des lignes.

   for j in range(nb_c): #Parcours des colonnes.

       r, g, b = image[i, j] #On récupère les informations liées au pixel.

       image[i, j] = (g, b, r)

Image.fromarray(image).save("coloree.png")

Image en nuance de gris:

image = np.array(Image.open("image.png"))

nb_l, nb_c = image.shape[0], image.shape[1]

for i in range(nb_l): #Parcours des lignes.

   for j in range(nb_c): #Parcours des colonnes.

       r, g, b = image[i, j] #On récupère les informations liées au pixel.

       g = int(0.11*r + 0.83*g + 0.06*b) #On forme le gris.

       image[i, j] = (g, g, g)

Image.fromarray(image).save("gris.png")

Image en négatif:

image = np.array(Image.open("image.png"))

Image.fromarray(255 - image).save("negatif.png") #Là on voit l'avantage des tableaux Numpy, si tu n'as pas le droit à Numpy, il va falloir parcourir la double liste comme j'ai fait sur les deux exemples précédents.

Image avec la diagonale:

C'est trop mathématiques, je te laisse le plaisir de regarder sur le net l'algorithme de Bresenham qui permet d'avoir la diagonale et donc surtout les coordonnées des points au-dessus ou en-dessous de celle-ci.

Après faut passer en nuance de gris le fond en épargnant la pomme, pour ça tu peux réutiliser g = int(0.11*r + 0.83*g + 0.06*b) avec comme condition que r, g, b forment bien du bleu donc que b est élevé et que r, g soient faibles.

Globalement, il faut une question du type:

if r < 200 and g < 200 and b > 200: #A ajuster s'il des pixels persistent, tu peux utiliser paint pour connaître le codage RGB des pixels.

Bonne journée.

View image Thomas756
View image Thomas756
View image Thomas756
View image Thomas756
Nous apprécions votre temps sur notre site. N'hésitez pas à revenir si vous avez d'autres questions ou besoin de précisions. Votre visite est très importante pour nous. N'hésitez pas à revenir pour des réponses fiables à toutes vos questions. Merci de faire confiance à Laurentvidal.fr. Revenez pour obtenir plus d'informations et de réponses.