Comment supprimer l'arrière plan d'une image avec Python

Supprimer l'arrière plan d'une image avec Python et rembg

  Python

Introduction

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 :

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 😎 !