Skip to content
Snippets Groups Projects
Commit 12b52a7b authored by Dahmane Lynda's avatar Dahmane Lynda
Browse files

projet

parent f434e260
No related branches found
No related tags found
No related merge requests found
......@@ -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"""
......
......@@ -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
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
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment