Skip to content

Instantly share code, notes, and snippets.

@dunossauro
Last active April 13, 2021 17:58
Show Gist options
  • Save dunossauro/030f51bea9da06e2b9aa4d2c655ddc7a to your computer and use it in GitHub Desktop.
Save dunossauro/030f51bea9da06e2b9aa4d2c655ddc7a to your computer and use it in GitHub Desktop.
Inslação do rmbg e utilização para remover fundo de imagens com Python

Removendo fundo de imagens com python e inteligencia artificial (rembg)

Preparando o ambiente

Garanta que você tem uma versão do python maior que 3.8:

Como saber a versão do meu python? Vá até o terminal e digite

$ python --version
3.9.4  # versão do meu sistema

Se sua versão for maior que 3.8.0, já é o suficiente

Instalando as bibliotecas (distro não ubuntu)

mkdir removedor_de_fundo
cd removedor_de_fundo
python -m venv .venv       # Criação do ambiente virtual
source .venv/bin/activate  # Ativação do ambiente virtual
python -m pip install pip install torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html rembg

No Ubuntu

sudo apt-get install python3-pip
python3 -m pip install --upgrade pip virtualenv

mkdir removedor_de_fundo
cd removedor_de_fundo
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html rembg

Para garantir que tudo está configurado, você pode rodar no terminal

$ rembg -h
usage: rembg [-h] [-m {u2net}] [-a [ALPHA_MATTING]] [-af ALPHA_MATTING_FOREGROUND_THRESHOLD] [-ab ALPHA_MATTING_BACKGROUND_THRESHOLD] [-ae ALPHA_MATTING_ERODE_SIZE] [-az ALPHA_MATTING_BASE_SIZE]
             [-p PATH PATH] [-o [OUTPUT]]
             [input]

positional arguments:
  input                 Path to the input image.

optional arguments:
  -h, --help            show this help message and exit
  -m {u2net}, --model {u2net}
                        The model name.
  -a [ALPHA_MATTING], --alpha-matting [ALPHA_MATTING]
                        When true use alpha matting cutout.
  -af ALPHA_MATTING_FOREGROUND_THRESHOLD, --alpha-matting-foreground-threshold ALPHA_MATTING_FOREGROUND_THRESHOLD
                        The trimap foreground threshold.
  -ab ALPHA_MATTING_BACKGROUND_THRESHOLD, --alpha-matting-background-threshold ALPHA_MATTING_BACKGROUND_THRESHOLD
                        The trimap background threshold.
  -ae ALPHA_MATTING_ERODE_SIZE, --alpha-matting-erode-size ALPHA_MATTING_ERODE_SIZE
                        Size of element used for the erosion.
  -az ALPHA_MATTING_BASE_SIZE, --alpha-matting-base-size ALPHA_MATTING_BASE_SIZE
                        The image base size.
  -p PATH PATH, --path PATH PATH
                        An input folder and an output folder.
  -o [OUTPUT], --output [OUTPUT]
                        Path to the output png image.

Utilizando

rembg -o path/to/output.png path/to/input.png

Observações

  1. Todas as vezes que você fechar o shell você terá que reativar o ambiente virtual
  2. Para ativar o ambiente, vá até o diretório criado (removedor_de_fundo) e digite source .venv/bin/activate
  3. A primeira vez que você executar, ele iniciará o download da base de treinamento, pode demorar um pouco, nas seguintes ele usará a base pronta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment