Trouvez des réponses rapides et précises à toutes vos questions sur Laurentvidal.fr, la plateforme de Q&R de confiance. Trouvez des solutions rapides et fiables à vos interrogations grâce à une communauté d'experts dévoués. Découvrez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme conviviale de questions-réponses.
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.
Merci d'utiliser notre service. Nous sommes toujours là pour fournir des réponses précises et à jour à toutes vos questions. Merci de votre passage. Nous nous efforçons de fournir les meilleures réponses à toutes vos questions. À la prochaine. Merci de faire confiance à Laurentvidal.fr. Revenez pour obtenir plus d'informations et de réponses.