diff --git a/Projet/bloc1.png b/Projet/bloc1.png new file mode 100644 index 0000000000000000000000000000000000000000..eb316ec4e38e73b42f5dab365a94b38511b9eeb9 Binary files /dev/null and b/Projet/bloc1.png differ diff --git a/Projet/bloc2.png b/Projet/bloc2.png new file mode 100644 index 0000000000000000000000000000000000000000..eb316ec4e38e73b42f5dab365a94b38511b9eeb9 Binary files /dev/null and b/Projet/bloc2.png differ diff --git a/Projet/bloc3.png b/Projet/bloc3.png new file mode 100644 index 0000000000000000000000000000000000000000..683b2d426eb80a644a3973a87cde82f0af4ed89a Binary files /dev/null and b/Projet/bloc3.png differ diff --git a/Projet/bloc4.png b/Projet/bloc4.png new file mode 100644 index 0000000000000000000000000000000000000000..785531e6d3e91dcab3e7b394edaf43630696a480 Binary files /dev/null and b/Projet/bloc4.png differ diff --git a/Projet/bloc5.png b/Projet/bloc5.png new file mode 100644 index 0000000000000000000000000000000000000000..421e6a58828a8717dba2598dba6d0c2983a0a421 Binary files /dev/null and b/Projet/bloc5.png differ diff --git a/Projet/readme.md b/Projet/readme.md index b7a562d335adf127bc467dad5a09bb88d35fc842..45c61572bdfc3a859f217e6bf82bd35f72960ab6 100644 --- a/Projet/readme.md +++ b/Projet/readme.md @@ -24,4 +24,8 @@ j'ai reflechi à la structure du module traite_img et j'ai codé la fonction pro - creer_bloc_uniforme() : cette fonction cree un bloc uniforme à partir d'une liste de blocs d'images en utilisant la couleur moyenne des blocs - fusionner_blocs() : Cette fonction prend une liste de quatre blocs d'images et les fusionne pour créer une seule image contenant ces quatre blocs -j'ai codé la fonction diviser_image() en utilisant la methode corp qui permet de découper une région rectangulaire spécifique d'une image.dans ce cas là en 4 parties (haut à gauche , haut à droite , bas à gauche , bas à droite) + .j'ai codé la fonction diviser_image() en utilisant la methode corp qui permet de découper une région rectangulaire spécifique d'une image.dans ce cas là en 4 parties (haut à gauche , haut à droite , bas à gauche , bas à droite) + + .j'ai codé la fonction average_rgb() qui calcule la couleur moyenne d'une image en termes de composantes (Rouge, Vert, Bleu - RGB) + . + diff --git a/Projet/traite_img.py b/Projet/traite_img.py index af52447bd008568049946d38475e5da0d38b83ac..57e549344db7a4a5fb564bf4c3971d004880dcfc 100644 --- a/Projet/traite_img.py +++ b/Projet/traite_img.py @@ -66,6 +66,34 @@ def average_rgb(image): $$$ """ + # Chargez l'image et convertissez-la en mode RGB si elle n'est pas déjà dans ce mode + image = image.convert('RGB') + + # Obtenez la largeur et la hauteur de l'image + width, height = image.size + + # Obtenez les données de pixels pour l'ensemble de l'image + pixels = image.load() + + # Initialisez les variables pour stocker la somme des valeurs RGB + total_r, total_g, total_b = 0, 0, 0 + + # Parcourez chaque pixel de l'image et additionnez les valeurs RGB + for y in range(height): + for x in range(width): + r, g, b = pixels[x, y] # Obtenez les valeurs RGB du pixel actuel + total_r += r + total_g += g + total_b += b + + # Calculez les valeurs RGB moyennes en divisant la somme totale par le nombre de pixels + nb_pixels = width * height + average_r = total_r // nb_pixels + average_g = total_g // nb_pixels + average_b = total_b // nb_pixels + + return (average_r, average_g, average_b) + def sont_blocs_proches(blocs):