diff --git a/projet/Bloc.py b/projet/Bloc.py index e96f55c7da298a8ef121aed651ec7ef54f0c2bbc..527fbcd0297e83fa6be2bcb5d199eb474d050571 100644 --- a/projet/Bloc.py +++ b/projet/Bloc.py @@ -4,21 +4,14 @@ class Block: - def __init__(self, zone, couleur=None, sous_blocs=None): + def __init__(self, zone, couleur=None, sous_blocs=None): """Initialisation un objet Bloc avec une zone, une couleur et des sous_blocs""" self.zone=zone self.couleur=couleur self.sous_blocs=sous_blocs - if self.sous_blocs: - if len(self.sous_blocs)!=4: - raise ValueError() - if couleur is not None: - raise ValueError() - self.couleur=self.moyenne_couleurs() - - + def moyenne_couleurs(self): """Renvoie la moyenne des couleurs des sous_blocs""" diff --git a/projet/Readme.md b/projet/Readme.md index b2d849b89ed5dab48510b9df5ab54dde0dd1f2ed..f19276b75b62c83089055369a241f108b17ab055 100644 --- a/projet/Readme.md +++ b/projet/Readme.md @@ -3,94 +3,66 @@ Prenom:Lynda #JOURNAL: - - -#la date: 06/03/2024 -#discription: Creation de la classe Block en thonny +la date: 06/03/2024 +la discription: Creation de la classe Block en thonny dans cette classe j'ai mis déffirents constructeurs : init , moyenne_couleur, est_uniforme, est_dans_limites et str. -# Les parametres: -zone: la zone associée au bloc -couleur: la couleur du bloc -sous_bloc:est une liste de sous_bloc -#La date: 13/03/2024 -#La discription:"fonction count_color": Compte le nombre de pixels d'une certaine couleur dans une image +La date: 13/03/2024 +La discription: "fonction count_color": Compte le nombre de pixels d'une certaine couleur dans une image Aujourd'hui j'ai crée la fonction count_color pour compter le nombre de pixels d'une certaine couleur dans une image. j'ai mis à cette fonction 2 parmetre image et color, - image (Image PIL) : Image à traiter. - color (tuple) : Couleur à compter, sous la forme (rouge, vert, bleu). -#La Date: 20/03/2024 -# La discrption: "fonction crop_image" +La Date: 20/03/2024 +La discrption: "fonction crop_image" prend en entrée un chemin vers une image(image_path), ainsi que quatre entiers: left, upper,right,lower qui représentent les coordonnées d'un rectangle délimitant une région d'interet dans l'mage. - - - - - - +La Date:27/03/2024 +La discription:fonction couleur_moyenne +j'ai crée cette fonction pour + calculer la couleur moyenne à partir d'une liste des couleurs # Docomuntation: -La date :06/03/2024 - -#La classe Bloc : + La date :06/03/2024 +La classe Bloc : sert a représenter un bloc avec une zone , une couleur, et ces sous_blocs. Si le bloc a des sous_blocs, la couleur moyenne de ces sous_blocs est calculée et affectée à la couleur de bloc . Le constructeur init prend 3 arguments (zone , couleur et sous_bloc) Si aucune couleur spécifiée , la couleur du bloc prend par défaut la valeur None .De meme , si aucun sous_bloc n'est spécifié , la valeur de sous 'sous_blocs'est "None" -#la fonction" init": +la fonction" init": elle est appeler automatiquement lorsqu'un nouvel onjet de la classe "Bloc" est cree -#La fonction moyenne_couleur: +La fonction moyenne_couleur: clacul la couleur moyenne des sous_blocs en sommant les composantes rouge,vert,bleu de chaque couleur des sous_blocs et en divisant ensuite la somme par le nombre - de sous_blocs. Cette fonction elle renvoie la couleur moyenne sous forme d'une liste de trois valeurs:les composantes moyennes de rouge,vert,bleu.Si aucun sous_bloc n'est fourni c'est à dire que self.sous_blocs est vide, la fonction renvoie la couleur actuelle duu Bloc "self.couleur - -#la fonction est_uniforme: + de sous_blocs. +La fonction est_uniforme: verifier si le bloc est uniforme. le bloc considéré comme uniforme s'il n'a pas des sous_blocs. - - -#la fonction est_dans_limites: +la fonction est_dans_limites: verifier si la zone du bloc se trouve dans les limites spécifiée. Cette fonctipon extrait les coordonnées x,y et la largeur, la hauteur à partir de la zone du bloc et verifier si elle trouve dans les limites spécifiées par "limites_min et limites_max" -#la fonction str: +la fonction str: renvoie la representation en chaine de caractères du bloc. - - -#La date: 13/03/2024 + La date: 13/03/2024 ini: represente le Nombre de pixels de la couleur donnée J'ai utiliser " im_rgb = image.convert('RGB')" pour convertir l'image en mode RGB - -Les Tests: - count_color(im, (255, 0, 0)): renvoie le nombres de pixels rouges - - count_color(im, (0, 225, 0)): renvoie le nombres de pixels vert - - count_color(im, (0, 0, 255)): renvoie le nombres de pixels bleu - -pour Compter les pixels de la couleur donnée j'ai fais ça : - count=0 - width, height = im_rgb.size - for x in range(width): - for y in range(height) -et pour obtenir la couleur du pixel à la position (x, y) : pixel_color = im_rgb.getpixel((x, y)) + pixel_color = im_rgb.getpixel((x, y)): obtenir la couleur du pixel à la position (x, y) : pixel_color = im_rgb.getpixel((x, y)) if pixel_color == color:c'est pour Vérifier si la couleur du pixel est égale à la couleur donnée -count+=1: Incrémenter le compteur si la couleur correspond -# La Date:20/03/2024 -# image_path: + La Date:20/03/2024 +image_path: la fonction elle a utiliser ce parametre pour ouvrir une image en utilisant la bibliotheque PIL , -# crop-image: +crop-image: decouper l'image selon les coordonnées spécifiées . -#crop_image.show: +crop_image.show: afficher l'image decoupée diff --git a/projet/charger_image.py b/projet/charger_image.py deleted file mode 100644 index 9123602bb118dcb145180e38f4420fb19618c0bd..0000000000000000000000000000000000000000 --- a/projet/charger_image.py +++ /dev/null @@ -1,12 +0,0 @@ -def charger_image(fichier): - - """renvoie le contenu de l'image sous forme de données binaires - - Précondition : - Exemple(s) : - $$$ - """ - - with open(fichier, 'rb') as file: - image = file.read() - return image \ No newline at end of file diff --git a/projet/count_color.py b/projet/count_color.py index dc26ccd2c0134ae2e0522824cd3cf9a3906461a2..4e8389d094a6fcd5e8e01b30067214d6a65444ed 100644 --- a/projet/count_color.py +++ b/projet/count_color.py @@ -5,7 +5,7 @@ def count_color(image, color:tuple([int, int,int]))-> int: Précondition : Exemple(s) : - $$$ count_color(im, (255, 0, 0)) + $$$ count_color(im, (255, 0, 0)) 100 $$$ count_color(im, (0, 255, 0)) 50