-20/03: importation des bibliotheques necessaires pourmanipuler les images
-20/03: importation des bibliotheques necessaires pour manipuler les images
20/03: definition de la fonction image_recursion : cette fonction prend en entrée une image et un ordre qui determine le niveau de detail de la représentation finale.
elle effectue les etapes suivantes de manieres recursive:
-si l'ordre est nul ou si l'image ou l'image est un pixel, la fonction retourne la couleur du pixel, sinon elle divise l'image en quatre blocs de taille egale.
- elle appelle recursivement la fonction sur chaque bloc.
-
02/04: modification du projet du debut au commencement en commencant par la construction de la class Bloc et ses differentes methodes.
- ensuite je vais diviser l'image en 4 blocs
- ensuite je vais utiliser la methode qui va me permettre et renvoyer un tuple(r,g,b) representant la couleur moyenne d'un bloc
-La fonction modife_couleur modifie la couleur d'un bloc dans un programme Python. Elle parcourt les sous-blocs du bloc en question, et calcule la moyenne des valeurs rouge (r), vert (g) et bleu (b) pour tous les sous-blocs. Si la couleur d'un sous-bloc est un entier, il est considéré comme une valeur de couleur unique qui est ajoutée aux valeurs r, g ou b correspondantes. Si la couleur d'un sous-bloc est un tuple, il est considéré comme contenant trois valeurs représentant les valeurs r, g et b pour ce sous-bloc. La couleur finale du bloc est alors définie comme la moyenne des valeurs r, g et b de tous ses sous-blocs.
-La fonction est_uniforme est une méthode qui vérifie si un bloc est uniforme. Cette fonction renvoie une valeur booléenne, qui est True si le bloc n'a pas de sous-blocs et False dans le cas contraire.
-La fonction blocs_proches est une méthode qui vérifie si deux blocs sont proches en fonction de leur couleur. Cette fonction prend deux paramètres, self et autre_bloc, qui représentent respectivement le bloc actuel et le bloc à comparer.
La fonction commence par vérifier si les deux blocs sont uniformes, c'est-à-dire s'ils ne contiennent pas de sous-blocs. Si l'un des deux blocs n'est pas uniforme, la fonction renvoie False pour indiquer qu'ils ne sont pas proches.
Si les deux blocs sont uniformes, la fonction calcule la différence entre les composantes rouge, verte et bleue de leur couleur respective. Elle utilise la fonction abs pour prendre la valeur absolue de chaque différence, et vérifie si chaque valeur est inférieure ou égale à 10.
Si toutes les valeurs absolues sont inférieures ou égales à 10, la fonction renvoie True pour indiquer que les deux blocs sont proches en termes de couleur. Sinon, la fonction renvoie False pour indiquer qu'ils ne sont pas proches.