From 6747aa5b05406e47333675eae2ded64899ff4087 Mon Sep 17 00:00:00 2001 From: Louis Chmielewski <louischmielewski@MacBook-Air-de-Louis.local> Date: Fri, 15 Mar 2024 10:38:07 +0100 Subject: [PATCH] est_couleur_proche --- .DS_Store | Bin 10244 -> 10244 bytes Projet/.DS_Store | Bin 6148 -> 6148 bytes Projet/src/.DS_Store | Bin 0 -> 6148 bytes Projet/src/bloc.py | 33 ++++++++++---------------- Projet/src/fonctions.py | 50 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 Projet/src/.DS_Store create mode 100755 Projet/src/fonctions.py diff --git a/.DS_Store b/.DS_Store index 55abb228771bf4adbb7bb1ee293e0e714c44a2d5..003afd4f6d0267c410233112bbb4c720804e7e90 100644 GIT binary patch delta 164 zcmZn(XbIS$Di9~Y)XTuYz`~%%kj{|FP?DSP;*yk;pTxkxz|pT2D5iets3WR;3SRkw z48!2${M-Tt5Kw8@+$<o^sG{e?z`(%95WrBxkk63Ckcw&z0|Nt(`lZRo1Ql2s%5Ghl P{7O)Pal&S9p`W4vf~F|x delta 164 zcmZn(XbIS$DiFtCFVDchz`~%%kj{|FP?DSP;*yk;pTxkxz>yZ>R(9dSQAbqy6uj~U z8HT~h`MCuQAfRlpxmiG-QAKDQ0|NsaLjXe&Lq0<mLn^8@3=9p%w=PURCaA!|pt0)w Q<X3_Uj0u~$g?@?x0B>n47XSbN diff --git a/Projet/.DS_Store b/Projet/.DS_Store index 3cc5a085cf80b39596e3e5ea68fb33c5912768bf..e740dabcb827ecdfd5d0f3f0a0108543136de213 100644 GIT binary patch delta 41 xcmZoMXffFEj*Urv?c@(^5-bcn>X#<-uuHIQ6nN);=fY$yb}2@O&93bG1pq6q4cGtx delta 41 xcmZoMXffFEj*W>$eDVi236=)qTNfttuuHHpFfcgUpP8)1F2yLY*_D02000t<3;6&5 diff --git a/Projet/src/.DS_Store b/Projet/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..044889880fc94c6fc63cae57f79ab2e0f0af49ae GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8z4DAe90Z1N%F(jFwA|RR(Y=#~~0Yjx{PJVJy4pfd1 z1=7pTki?L~kk63JfTTY^3F<6I1_lPb|6l+%jE5nOA)g_SA(^3sArs6h#;R{Unm(}R zQDQU%MnhmU1V%$(Gz3O`2rxoIfP))CkCLMyFd71*Apj2nQ2C$$>MJlXFgQTz1_%w3 zVqj!o05#u1Gz&}<q#wWl5(8-k(IBlL8l;th5yS$U0oKaE$N<sG2=0b}^nto0AR4Tl zfe~yoh!57zzzDXPfq@aCoq-Xeoq-YBLt%tyXJCYAXJ7=|4s+coJsJX|Api>jW(Y$7 zRR6m&FyQL{LsX5DqaiRF0>d%{7+G9`U7Wy`GIsxg>RM2Jnt&wD2&$7IdO*^kY8_k^ nGeHIvC16S!85lrXLGs|Ln2~`2T$7JB1YjXFN{@yB{X+l%*b6D0 literal 0 HcmV?d00001 diff --git a/Projet/src/bloc.py b/Projet/src/bloc.py index f1ab95c..f6656c0 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 0000000..57a6b59 --- /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 -- GitLab