diff --git a/.DS_Store b/.DS_Store index 55abb228771bf4adbb7bb1ee293e0e714c44a2d5..003afd4f6d0267c410233112bbb4c720804e7e90 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Projet/.DS_Store b/Projet/.DS_Store index 3cc5a085cf80b39596e3e5ea68fb33c5912768bf..e740dabcb827ecdfd5d0f3f0a0108543136de213 100644 Binary files a/Projet/.DS_Store and b/Projet/.DS_Store differ diff --git a/Projet/src/.DS_Store b/Projet/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..044889880fc94c6fc63cae57f79ab2e0f0af49ae Binary files /dev/null and b/Projet/src/.DS_Store differ diff --git a/Projet/src/bloc.py b/Projet/src/bloc.py index f1ab95cb8c99c2977e7caea46328b634b012b287..f6656c07b62357eafb0b71c34d1f23a177dd4af7 100755 --- a/Projet/src/bloc.py +++ b/Projet/src/bloc.py @@ -11,27 +11,7 @@ """ from PIL import Image, ImageDraw - -def moyenne_couleur_bloc(liste: list[tuple]) -> tuple: - """ - Renvoie la moyenne de la couleur d'un bloc - Précondition : aucune - Exemple(s) : - $$$ moyenne_couleur_bloc([(1,2,3),(4,5,6),(7,8,9)]) - (4,5,6) - """ - total_r = 0 - total_g = 0 - total_b = 0 - for couleur in liste: - total_r = total_r + couleur[0] - total_g = total_r + couleur[1] - total_b = total_r + couleur[2] - nombre_blocs = len(liste) - moyenne_r = total_r / nombre_blocs - moyenne_g = total_g / nombre_blocs - moyenne_b = total_b / nombre_blocs - return (moyenne_r, moyenne_g, moyenne_b) +from fonctions import * class Bloc: """Classe d'un bloc d'une image en pixel @@ -43,4 +23,15 @@ class Bloc: """ self.image = image + def __eq__(self, other): + """à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + + """ + self.image == other.image + + \ No newline at end of file diff --git a/Projet/src/fonctions.py b/Projet/src/fonctions.py new file mode 100755 index 0000000000000000000000000000000000000000..57a6b59aa2674ce516fd9f191932a6dea33273fe --- /dev/null +++ b/Projet/src/fonctions.py @@ -0,0 +1,50 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +:mod:`association` module : un module pour la modélisation des blocs + +:author: Louis Chmielewski + +:date: 2024 mars + +""" + +def moyenne_couleur_bloc(liste: list[tuple[int,int,int]]) -> tuple: + """ + Renvoie la moyenne de la couleur d'un bloc + Précondition : aucune + Exemple(s) : + $$$ moyenne_couleur_bloc([(1,2,3),(4,5,6),(7,8,9)]) + (4,5,6) + """ + total_r = 0 + total_g = 0 + total_b = 0 + for couleur in liste: + total_r += couleur[0] + total_g += couleur[1] + total_b += couleur[2] + nombre_blocs = len(liste) + moyenne_r = total_r / nombre_blocs + moyenne_g = total_g / nombre_blocs + moyenne_b = total_b / nombre_blocs + return (moyenne_r, moyenne_g, moyenne_b) + +def est_couleur_proche(couleur1 : tuple[int,int,int], couleur2 : tuple[int,int,int]) -> bool: + """ + Renvoie True ssi 2 couleurs sont proches, sinon False + Précondition : len(couleur1) == len(couleur2) == 3 + Exemple(s) : + $$$ est_couleur_proche((120, 130, 140), (125, 125, 137)) + True + $$$ est_couleur_proche((12, 13, 14), (125, 125, 137)) + False + """ + res = True + for i in range(len(couleur1)): + if abs(couleur1[i] - couleur2[i]) > 5: + res = False + return res + + \ No newline at end of file