Daniel Gatis 385d34da4a refact
2022-01-20 15:05:45 -03:00
2022-01-20 11:32:01 -03:00
2020-10-09 14:41:49 -03:00
2022-01-20 15:05:45 -03:00
2022-01-10 20:36:01 +01:00
2020-08-10 16:32:38 -03:00
2022-01-09 14:22:23 -03:00
2021-10-09 09:37:17 -03:00
2022-01-19 11:48:05 -03:00
2020-08-10 16:32:38 -03:00
2022-01-09 14:22:23 -03:00
2022-01-10 20:36:01 +01:00
2022-01-09 14:22:23 -03:00
2022-01-20 15:05:45 -03:00
2022-01-19 11:48:05 -03:00
2022-01-19 11:48:05 -03:00
2022-01-20 15:05:45 -03:00
2022-01-09 14:22:23 -03:00
2022-01-20 15:05:45 -03:00
2022-01-09 15:53:13 -03:00

Rembg

Downloads Downloads Downloads License

Rembg is a tool to remove images background. That is it.

*** If you want to remove background from videos try this this fork: https://github.com/ecsplendid/rembg-greenscreen ***

Installation

CPU support:

pip install rembg

GPU support:

GPU=1 pip install rembg

Usage as a cli

Remove the background from a remote image

curl -s http://input.png | rembg i > output.png

Remove the background from a local file

rembg i path/to/input.png path/to/output.png

Remove the background from all images in a folder

rembg p path/to/input path/to/output

Usage as a server

Start the server

rembg s

Open your browser to

http://localhost:5000?url=http://image.png

Also you can send the file as a FormData (multipart/form-data):

<form action="http://localhost:5000" method="post" enctype="multipart/form-data">
   <input type="file" name="file"/>
   <input type="submit" value="upload"/>
</form>

Usage as a library

Example 1: Read from stdin and write to stdout

In app.py

import sys
from rembg.bg import remove

sys.stdout.buffer.write(remove(sys.stdin.buffer.read()))

Then run

cat input.png | python app.py > out.png

Example 2: Using PIL

In app.py

from rembg.bg import remove
import numpy as np
import io
from PIL import Image

input_path = 'input.png'
output_path = 'out.png'

# Uncomment the following line if working with trucated image formats (ex. JPEG / JPG)
# ImageFile.LOAD_TRUNCATED_IMAGES = True

f = np.fromfile(input_path)
result = remove(f)
img = Image.open(io.BytesIO(result)).convert("RGBA")
img.save(output_path)

Then run

python app.py

Usage as a docker

First compile with:

docker build . -t rembg

Then run with:

docker run --rm -i rembg i in.png out.png

Advance usage

Sometimes it is possible to achieve better results by turning on alpha matting. Example:

curl -s http://input.png | rembg i -a -ae 15 > output.png
Original Without alpha matting With alpha matting (-a -ae 15)

References

Buy me a coffee

Liked some of my work? Buy me a coffee (or more likely a beer)

Buy Me A Coffee

License

Copyright (c) 2020-present Daniel Gatis

Licensed under MIT License

Description
No description provided
Readme 80 MiB
Languages
Python 83.5%
Jupyter Notebook 12.9%
Inno Setup 3.4%
PowerShell 0.1%
Dockerfile 0.1%