Voici un code très utile en Python qui permet de diviser des images en quatre parties égales et de les sauvegarder dans un répertoire de destination spécifique.
Voici une description détaillée de son fonctionnement :
- Importation des bibliothèques nécessaires : Le script commence par importer `Image` de la bibliothèque `PIL` (Python Imaging Library), une bibliothèque puissante pour ouvrir, manipuler et sauvegarder de nombreux formats de fichiers d’images. Il importe également le module `os` pour interagir avec le système de fichiers de l’ordinateur.
- Définition des chemins des répertoires : Deux variables, `REPERTOIRE_SOURCE` et `REPERTOIRE_DESTINATION`, sont définies pour stocker les chemins des répertoires source et destination, respectivement.
- Fonction `diviser_image` : Cette fonction prend deux arguments – le chemin de l’image d’origine et le chemin du dossier de destination. Elle ouvre l’image d’origine, calcule ses dimensions, puis la divise en quatre parties égales en utilisant la méthode `crop` de l’objet `Image`. Chaque partie de l’image est ensuite sauvegardée dans le répertoire de destination sous format PNG, avec un nom de fichier spécifique indiquant la partie de l’image.
- Fonction `diviser_repertoire` : Cette fonction parcourt toutes les images (fichiers JPG ou PNG) dans le répertoire source, en appelant la fonction `diviser_image` pour chaque image trouvée. Elle assure ainsi la division de toutes les images du répertoire source.
- Exécution du script : Enfin, le script appelle la fonction `diviser_repertoire` avec les chemins des répertoires source et destination, ce qui déclenche le processus de division pour l’ensemble des images présentes dans le répertoire source.
Le script est donc utile pour automatiser la tâche de division d’images en quatre parties, ce qui peut être pertinent pour des applications telles que le traitement d’images, la création de puzzles, ou tout autre scénario nécessitant de diviser des images en segments égaux.
from PIL import Image import os # Chemin du répertoire source et destination REPERTOIRE_SOURCE = r"source" REPERTOIRE_DESTINATION = r"destination" def diviser_image(image_path, destination_path): # Ouvrir l'image d'origine image = Image.open(image_path) # Diviser l'image en quatre parties égales width, height = image.size quarter_width = width // 2 quarter_height = height // 2 # Découper et sauvegarder chaque partie for i in range(2): for j in range(2): box = (j * quarter_width, i * quarter_height, (j + 1) * quarter_width, (i + 1) * quarter_height) region = image.crop(box) nom_fichier = os.path.splitext(os.path.basename(image_path))[0] + f"_part_{i * 2 + j + 1}.png" # Utiliser l'extension .png chemin_destination = os.path.join(destination_path, nom_fichier) region.save(chemin_destination, format='PNG') # Utiliser le format 'PNG' print(f"Partie {i * 2 + j + 1} de {os.path.basename(image_path)} sauvegardée : {chemin_destination}") def diviser_repertoire(source, destination): # Parcourir toutes les images dans le répertoire source for filename in os.listdir(source): if filename.endswith(".jpg") or filename.endswith(".png"): chemin_source = os.path.join(source, filename) diviser_image(chemin_source, destination) # Appeler la fonction pour diviser les images du répertoire source et placer les parties dans le répertoire destination diviser_repertoire(REPERTOIRE_SOURCE, REPERTOIRE_DESTINATION)
Prérequis : Vous devez installer la librairie Pillow. Plus d’information ici.