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.
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 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.