Automatisation de l'ajout de watermarks sur des images


Koné Fanhatcha

Fanhatcha est un jeune entrepreneur qui vient de créer son entreprise dans le domaine de l'immobilier de luxe. Pour tous les appartements, villa de luxe et manoirs qu'il loue ou vend à ses clients, il dispose d'un panorama d'images de la propriété sous tous les angles.

Pour une question de droit d'auteur et de propriété intellectuelle, Fanhatcha souhaite ajouter la mention © copyright 2021 Fanhatcha Inc sur toutes les images de son catalogue photo. Fanhatcha le faisait à la main quand il avait une vingtaine d'images. Aujourd'hui, il recherche un moyen plus rapide et plus simple de le faire.

Dans cet article, nous allons aider Fanhatcha à automatiser l'ajout de watermarks sur les images

Si vous avez suivi les articles précédent, nous avons crée un dossier appelé 1000 Tache. Accédez à ce dossier et créez un sous-dossier du nom de Tâche #2

Une fois le dossier Tache #2 crée, créez un jupyter notebook du nom de Automatisation de l'ajout de watermarks sur des images

Si vous avez le même résultat que celui-ci pour le moment, félicitations nous pouvons commencer, 

Etape 1: Installer la librairie Pillow avec pip 

!pip install pillow 

La librairie Pillow nous permet d'effectuer des opérations complexes sur les images.

Etape 2: Importer les librairies dans jupyter notebook


import os
from PIL import Image, ImageDraw, ImageFont

Les scripts ci-dessus indiquent à python que nous utiliserons ces librairies dans notre programme.

Etape 3 : Créer un dossier qui contient toutes les images avec des watermarks


os.makedirs('avec_watermaks', exist_ok = True)

Le but de ce script est de créer un dossier du nom de avec_watermarks. Il contiendra toutes les images avec watermark.

Une fois le script ci-dessus exécuté, vous verrez qu'un dossier nommé avec_watermarks a été crée dans le dossier Tache #2

Etape 4: Ajouter toutes les images à marquer dans le dossier Tache #2

Etape 5 : Exécution finale du programme


for filename in os.listdir('.'):
    if not (filename.endswith('.png') or filename.endswith('.jpg')):
        continue

    im = Image.open(filename)
    width, height = im.size

    draw = ImageDraw.Draw(im)
    text = "© copyright 2021 Fanhatcha Inc"

    font = ImageFont.truetype('arial.ttf', 22)
    textwidth, textheight = draw.textsize(text, font)


    margin = 10
    x = width - textwidth - margin
    y = height - textheight - margin


    draw.text((x, y), text, font=font)

    im.save('avec_watermaks/' + filename)    
  

Ce script nous permet de prendre toutes les images du dossier Tache #2 et d'ajouter la mention © copyright 2021 Fanhatcha Inc (ce que vous pouvez changer), puis de sauvegarder les nouvelles images marquées dans le dossier avec_watermarks.

Ouvrez le dossier avec_watermarks et vous verrez que vous venez d'effacer une tâche ingrate de notre checklist !

Résultat final