Laurentvidal.fr vous aide à trouver des réponses fiables à toutes vos questions grâce à une communauté d'experts. Explorez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme de questions-réponses complète. Expérimentez la commodité de trouver des réponses précises à vos questions grâce à une communauté dévouée d'experts.

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
Merci d'utiliser notre service. Nous sommes toujours là pour fournir des réponses précises et à jour à toutes vos questions. Merci d'utiliser notre plateforme. Nous nous efforçons de fournir des réponses précises et à jour à toutes vos questions. Revenez bientôt. Nous sommes ravis de répondre à vos questions sur Laurentvidal.fr. N'oubliez pas de revenir pour en savoir plus.