Supprimer l'arrière plan d'une image avec Python et rembg
PythonIntroduction
Rembg, est une bibliothèque Python qui vous permet de supprimer les arrière-plans des images. Elle est très facile à installer et à utiliser. Vous pouvez l’utiliser à partir de la ligne de commande ainsi que depuis un script. Rembg est écrit en Python et est disponible ici https://github.com/danielgatis/rembg.
Rembg peut être utilisé avec le CPU ou le GPU, donc si vous n’avez pas de GPU sur votre machine, vous pouvez tout de même utiliser la version CPU.
💡 Création de l’environnement virtuel
Il est recommandé d’utiliser un environnement virtuel pour l’installation de la bibliothèque Rembg. Un environnement virtuel est une installation Python isolée qui permet d’installer des bibliothèques spécifiques pour un projet sans affecter les autres projets.
Voici comment créer un environnement virtuel en utilisant venv
:
Ouvrez un terminal et créez un nouveau répertoire pour votre projet :
mkdir remove_background
cd remove_background
Créez un nouvel environnement virtuel :
python -m venv venv
Activez ensuite l’environnement virtuel :
source venv/bin/activate
🛠 Installation de rembg
Pour installer Rembg en utilisant la prise en charge GPU, il faut d’abord installer les dépendances nécessaires :
- Cython : un compilateur de Python pour les extensions C.
- numpy : une bibliothèque pour les calculs numériques.
- pycuda : une interface Python pour CUDA, une architecture de calcul parallèle pour les GPU NVIDIA.
On peut installer ces dépendances en utilisant pip
:
pip install Cython numpy pycuda
Ensuite, on peut installer la version GPU de Rembg en utilisant pip
:
pip install rembg[gpu]
Remarque : Selon votre machine il est possible que vous ne puissiez pas utiliser la version avec la prise en charge du GPU, il faudra utiliser la version qui utilise le CPU. Pour consulter si votre machine et OS est compatible consulter ce site : https://onnxruntime.ai/.
🔍 Utilisation de rembg
Afin de simplifier la lecture et l’écriture vous pouvez également utiliser la librairie Pillow
:
pip install Pillow
Une fois Pillow
installé on peut utiliser le code ci-dessous pour supprimer l’arrière-plan d’une image.
# remove_background.py
from PIL import Image
from rembg import remove
img_dir = 'images'
input = f'{img_dir}/tshirt_tanjiro.jpg'
output = f'{img_dir}/result.png'
# open existing image
image = Image.open(input)
# use rembg to remove background
result = remove(image)
# save result to a new file
result.save(output)
Et voilà, ces quelques lignes de codes suffisent pour supprimer l’arrière plan de votre image 😎 !