Skip to content
Snippets Groups Projects
Commit 11c0935b authored by Angy Wallot's avatar Angy Wallot
Browse files

projet

parent 5e7dd2f7
Branches
No related tags found
No related merge requests found
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
im = Image.open('images/calbuth.png')
im_rgb = im.convert('RGB')
# def decoupe_image(im, ordre:int): # def decoupe_image(im, ordre:int):
# """à_remplacer_par_ce_que_fait_la_fonction # """à_remplacer_par_ce_que_fait_la_fonction
...@@ -22,13 +18,16 @@ im_rgb = im.convert('RGB') ...@@ -22,13 +18,16 @@ im_rgb = im.convert('RGB')
# ordre -= 1 # ordre -= 1
# if # if
def couleurs_moyenne(liste:list)->list: def couleurs_moyenne(liste:list[tuple])->list:
""" """
FOnction qui calcule la moyenne dans une liste FOnction qui calcule la moyenne dans une liste
Précondition : Chaque tuple doit contenir au maximum 3 valeurs Précondition : Chaque tuple doit contenir 3 valeurs
Exemple(s) : Exemple(s) :
$$$ $$$ couleurs_moyenne([(1,2,3),(4,5,6),(7,8,9)])
[4, 5, 6]
$$$ couleurs_moyenne([(255, 0, 0), (0, 255, 0),(0, 0, 255)])
[85, 85, 85]
""" """
res = [] res = []
...@@ -44,4 +43,48 @@ def couleurs_moyenne(liste:list)->list: ...@@ -44,4 +43,48 @@ def couleurs_moyenne(liste:list)->list:
res.append(b//len(liste)) res.append(b//len(liste))
return res return res
couleurs_moyenne([(1,2,3),(4,5,6),(7,8,9)]) def liste_couleur(image, coin_haut_gauche:tuple,coin_bas_droit:tuple)->list:
"""
Fonction qui prend en parametre des coordonnées des pixels
situés en haut à gauche du bloc et en bas à droite du bloc.
Retourne une liste de couleur.
Précondition : Chaque tuple doit contenir 2 valeurs
l'image doit etre au format rgb
Exemple(s) :
$$$ im = Image.open('images/calbuth.png')
$$$ im_rgb = im.convert('RGB')
$$$ liste_couleur(im_rgb, (0,0),(10,10))
[(236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111), (236, 210, 111)]
"""
x_min, y_min = coin_haut_gauche
x_max, y_max = coin_bas_droit
return [image.getpixel((x,y))
for x in range(x_min, x_max+1)
for y in range(y_min, y_max+1)]
def distance_entre_deux_images(couleur1:tuple, couleur2:tuple)->bool:
"""
Renvoie True si deux images ont des couleurs proches
Précondition : couleur1 et couleur deux sont des tuples contenant 3 valeurs
Exemple(s) :
$$$ distance_entre_deux_images((252, 300, 80), (252, 260, 80))
True
$$$ distance_entre_deux_images((232, 240, 80), (252, 260, 50))
True
$$$ distance_entre_deux_images((232, 240, 80), (352, 260, 50))
False
$$$ distance_entre_deux_images((232, 240, 80), (0, 0, 0))
False
"""
return couleur1[0] - couleur2[0] < 100 and couleur1[1] - couleur2[1] < 100 and couleur1[2] - couleur2[2] < 100
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
Auteur: Angy Wallot Auteur: Angy Wallot
JOURNAL: JOURNAL:
06/03/24: lecture + plan 06/03/24: lecture + plan
20/03/24: debut de la classe et de la fonction decoupe 20/03/24: debut de la classe et de la fonction decoupe
27/03/24: fonction couleur_moyenne, liste_couleur
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment