Rembg is a tool to remove images background. That is it.
Install it from pypi
pip install rembg
Remove the background from a remote image
curl -s http://input.png | rembg > output.png
Remove the background from a local file
rembg -o path/to/output.png path/to/input.png
Remove the background from all images in a folder
rembg -p path/to/inputs
Start the server
rembg-server
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>
There are several options how yout can modify result by passing
| query param | type | default value | | model_name | str | u2net | | alpha_matting | bool | False | | alpha_matting_foreground_threshold | int | 240 | | alpha_matting_background_threshold | int | 10 | | alpha_matting_erode_structure_size | int | 10 |
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
Sometimes it is possible to achieve better results by turning on alpha matting. Example:
curl -s http://input.png | rembg -a -ae 15 > output.png
Original | Without alpha matting | With alpha matting (-a -ae 15) |
- https://arxiv.org/pdf/2005.09007.pdf
- https://github.com/NathanUA/U-2-Net
- https://github.com/pymatting/pymatting
Copyright (c) 2020-present Daniel Gatis
Licensed under MIT License