mirror of
https://git.mirrors.martin98.com/https://github.com/danielgatis/rembg
synced 2025-07-31 01:52:03 +08:00
format md (#611)
This commit is contained in:
parent
e1bd73c085
commit
2e23bab4fa
16
.github/workflows/lint_markdown.yml
vendored
Normal file
16
.github/workflows/lint_markdown.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: Markdown Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install markdownlint
|
||||||
|
uses: DavidAnson/markdownlint-cli2-action@v15
|
4
.markdownlint.yaml
Normal file
4
.markdownlint.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
default: true
|
||||||
|
MD013: false # line-length
|
||||||
|
MD033: false # no-inline-html
|
113
README.md
113
README.md
@ -5,43 +5,42 @@
|
|||||||
[](https://huggingface.co/spaces/KenjieDec/RemBG)
|
[](https://huggingface.co/spaces/KenjieDec/RemBG)
|
||||||
[](https://bgremoval.streamlit.app/)
|
[](https://bgremoval.streamlit.app/)
|
||||||
|
|
||||||
|
|
||||||
Rembg is a tool to remove images background.
|
Rembg is a tool to remove images background.
|
||||||
|
|
||||||
<p style="display: flex;align-items: center;justify-content: center;">
|
<p style="display: flex;align-items: center;justify-content: center;">
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-1.jpg" width="100" />
|
<img alt="example car-1" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-1.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-1.out.png" width="100" />
|
<img alt="example car-1.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-1.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-2.jpg" width="100" />
|
<img alt="example car-2" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-2.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-2.out.png" width="100" />
|
<img alt="example car-2.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-2.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-3.jpg" width="100" />
|
<img alt="example car-3" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-3.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-3.out.png" width="100" />
|
<img alt="example car-3.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/car-3.out.png" width="100" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="display: flex;align-items: center;justify-content: center;">
|
<p style="display: flex;align-items: center;justify-content: center;">
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-1.jpg" width="100" />
|
<img alt="example animal-1" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-1.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-1.out.png" width="100" />
|
<img alt="example animal-1.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-1.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-2.jpg" width="100" />
|
<img alt="example animal-2" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-2.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-2.out.png" width="100" />
|
<img alt="example animal-2.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-2.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-3.jpg" width="100" />
|
<img alt="example animal-3" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-3.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-3.out.png" width="100" />
|
<img alt="example animal-3.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/animal-3.out.png" width="100" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="display: flex;align-items: center;justify-content: center;">
|
<p style="display: flex;align-items: center;justify-content: center;">
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-1.jpg" width="100" />
|
<img alt="example girl-1" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-1.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-1.out.png" width="100" />
|
<img alt="example girl-1.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-1.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-2.jpg" width="100" />
|
<img alt="example girl-2" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-2.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-2.out.png" width="100" />
|
<img alt="example girl-2.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-2.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-3.jpg" width="100" />
|
<img alt="example girl-3" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-3.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-3.out.png" width="100" />
|
<img alt="example girl-3.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/girl-3.out.png" width="100" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="display: flex;align-items: center;justify-content: center;">
|
<p style="display: flex;align-items: center;justify-content: center;">
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-1.jpg" width="100" />
|
<img alt="example anime-girl-1" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-1.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-1.out.png" width="100" />
|
<img alt="example anime-girl-1.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-1.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-2.jpg" width="100" />
|
<img alt="example anime-girl-2" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-2.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-2.out.png" width="100" />
|
<img alt="example anime-girl-2.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-2.out.png" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-3.jpg" width="100" />
|
<img alt="example anime-girl-3" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-3.jpg" width="100" />
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-3.out.png" width="100" />
|
<img alt="example anime-girl-3.out" src="https://raw.githubusercontent.com/danielgatis/rembg/master/examples/anime-girl-3.out.png" width="100" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**If this project has helped you, please consider making a [donation](https://www.buymeacoffee.com/danielgatis).**
|
**If this project has helped you, please consider making a [donation](https://www.buymeacoffee.com/danielgatis).**
|
||||||
@ -69,7 +68,7 @@ Rembg is a tool to remove images background.
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
```
|
```text
|
||||||
python: >3.7, <3.13
|
python: >3.7, <3.13
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -86,10 +85,10 @@ GPU support:
|
|||||||
|
|
||||||
First of all, you need to check if your system supports the `onnxruntime-gpu`.
|
First of all, you need to check if your system supports the `onnxruntime-gpu`.
|
||||||
|
|
||||||
Go to https://onnxruntime.ai and check the installation matrix.
|
Go to <https://onnxruntime.ai> and check the installation matrix.
|
||||||
|
|
||||||
<p style="display: flex;align-items: center;justify-content: center;">
|
<p style="display: flex;align-items: center;justify-content: center;">
|
||||||
<img src="https://raw.githubusercontent.com/danielgatis/rembg/master/onnxruntime-installation-matrix.png" width="400" />
|
<img alt="onnxruntime-installation-matrix" src="https://raw.githubusercontent.com/danielgatis/rembg/master/onnxruntime-installation-matrix.png" width="400" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
If yes, just run:
|
If yes, just run:
|
||||||
@ -104,6 +103,7 @@ pip install rembg[gpu,cli] # for library + cli
|
|||||||
After the installation step you can use rembg just typing `rembg` in your terminal window.
|
After the installation step you can use rembg just typing `rembg` in your terminal window.
|
||||||
|
|
||||||
The `rembg` command has 4 subcommands, one for each input type:
|
The `rembg` command has 4 subcommands, one for each input type:
|
||||||
|
|
||||||
- `i` for files
|
- `i` for files
|
||||||
- `p` for folders
|
- `p` for folders
|
||||||
- `s` for http server
|
- `s` for http server
|
||||||
@ -111,13 +111,13 @@ The `rembg` command has 4 subcommands, one for each input type:
|
|||||||
|
|
||||||
You can get help about the main command using:
|
You can get help about the main command using:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg --help
|
rembg --help
|
||||||
```
|
```
|
||||||
|
|
||||||
As well, about all the subcommands using:
|
As well, about all the subcommands using:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg <COMMAND> --help
|
rembg <COMMAND> --help
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -127,44 +127,43 @@ Used when input and output are files.
|
|||||||
|
|
||||||
Remove the background from a remote image
|
Remove the background from a remote image
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -s http://input.png | rembg i > output.png
|
curl -s http://input.png | rembg i > output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Remove the background from a local file
|
Remove the background from a local file
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg i path/to/input.png path/to/output.png
|
rembg i path/to/input.png path/to/output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Remove the background specifying a model
|
Remove the background specifying a model
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg i -m u2netp path/to/input.png path/to/output.png
|
rembg i -m u2netp path/to/input.png path/to/output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Remove the background returning only the mask
|
Remove the background returning only the mask
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg i -om path/to/input.png path/to/output.png
|
rembg i -om path/to/input.png path/to/output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Remove the background applying an alpha matting
|
Remove the background applying an alpha matting
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg i -a path/to/input.png path/to/output.png
|
rembg i -a path/to/input.png path/to/output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Passing extras parameters
|
Passing extras parameters
|
||||||
|
|
||||||
```
|
```shell
|
||||||
SAM example
|
SAM example
|
||||||
|
|
||||||
rembg i -m sam -x '{ "sam_prompt": [{"type": "point", "data": [724, 740], "label": 1}] }' examples/plants-1.jpg examples/plants-1.out.png
|
rembg i -m sam -x '{ "sam_prompt": [{"type": "point", "data": [724, 740], "label": 1}] }' examples/plants-1.jpg examples/plants-1.out.png
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Custom model example
|
Custom model example
|
||||||
|
|
||||||
rembg i -m u2net_custom -x '{"model_path": "~/.u2net/u2net.onnx"}' path/to/input.png path/to/output.png
|
rembg i -m u2net_custom -x '{"model_path": "~/.u2net/u2net.onnx"}' path/to/input.png path/to/output.png
|
||||||
@ -176,13 +175,13 @@ Used when input and output are folders.
|
|||||||
|
|
||||||
Remove the background from all images in a folder
|
Remove the background from all images in a folder
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg p path/to/input path/to/output
|
rembg p path/to/input path/to/output
|
||||||
```
|
```
|
||||||
|
|
||||||
Same as before, but watching for new/changed files to process
|
Same as before, but watching for new/changed files to process
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg p -w path/to/input path/to/output
|
rembg p -w path/to/input path/to/output
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -190,7 +189,7 @@ rembg p -w path/to/input path/to/output
|
|||||||
|
|
||||||
Used to start http server.
|
Used to start http server.
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg s --host 0.0.0.0 --port 7000 --log_level info
|
rembg s --host 0.0.0.0 --port 7000 --log_level info
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -198,13 +197,13 @@ To see the complete endpoints documentation, go to: `http://localhost:7000/api`.
|
|||||||
|
|
||||||
Remove the background from an image url
|
Remove the background from an image url
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -s "http://localhost:7000/api/remove?url=http://input.png" -o output.png
|
curl -s "http://localhost:7000/api/remove?url=http://input.png" -o output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Remove the background from an uploaded image
|
Remove the background from an uploaded image
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -s -F file=@/path/to/input.jpg "http://localhost:7000/api/remove" -o output.png
|
curl -s -F file=@/path/to/input.jpg "http://localhost:7000/api/remove" -o output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -212,7 +211,7 @@ curl -s -F file=@/path/to/input.jpg "http://localhost:7000/api/remove" -o outpu
|
|||||||
|
|
||||||
Process a sequence of RGB24 images from stdin. This is intended to be used with another program, such as FFMPEG, that outputs RGB24 pixel data to stdout, which is piped into the stdin of this program, although nothing prevents you from manually typing in images at stdin.
|
Process a sequence of RGB24 images from stdin. This is intended to be used with another program, such as FFMPEG, that outputs RGB24 pixel data to stdout, which is piped into the stdin of this program, although nothing prevents you from manually typing in images at stdin.
|
||||||
|
|
||||||
```
|
```shell
|
||||||
rembg b image_width image_height -o output_specifier
|
rembg b image_width image_height -o output_specifier
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -224,13 +223,12 @@ Arguments:
|
|||||||
|
|
||||||
Example usage with FFMPEG:
|
Example usage with FFMPEG:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
ffmpeg -i input.mp4 -ss 10 -an -f rawvideo -pix_fmt rgb24 pipe:1 | rembg b 1280 720 -o folder/output-%03u.png
|
ffmpeg -i input.mp4 -ss 10 -an -f rawvideo -pix_fmt rgb24 pipe:1 | rembg b 1280 720 -o folder/output-%03u.png
|
||||||
```
|
```
|
||||||
|
|
||||||
The width and height values must match the dimension of output images from FFMPEG. Note for FFMPEG, the "`-an -f rawvideo -pix_fmt rgb24 pipe:1`" part is required for the whole thing to work.
|
The width and height values must match the dimension of output images from FFMPEG. Note for FFMPEG, the "`-an -f rawvideo -pix_fmt rgb24 pipe:1`" part is required for the whole thing to work.
|
||||||
|
|
||||||
|
|
||||||
## Usage as a library
|
## Usage as a library
|
||||||
|
|
||||||
Input and output as bytes
|
Input and output as bytes
|
||||||
@ -294,14 +292,16 @@ for file in Path('path/to/folder').glob('*.png'):
|
|||||||
output = remove(input, session=session)
|
output = remove(input, session=session)
|
||||||
o.write(output)
|
o.write(output)
|
||||||
```
|
```
|
||||||
|
|
||||||
To see a full list of examples on how to use rembg, go to the [examples](USAGE.md) page.
|
To see a full list of examples on how to use rembg, go to the [examples](USAGE.md) page.
|
||||||
|
|
||||||
## Usage as a docker
|
## Usage as a docker
|
||||||
|
|
||||||
Just replace the `rembg` command for `docker run danielgatis/rembg`.
|
Just replace the `rembg` command for `docker run danielgatis/rembg`.
|
||||||
|
|
||||||
Try this:
|
Try this:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
docker run -v path/to/input:/rembg danielgatis/rembg i input.png path/to/output/output.png
|
docker run -v path/to/input:/rembg danielgatis/rembg i input.png path/to/output/output.png
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -323,21 +323,20 @@ The available models are:
|
|||||||
### How to train your own model
|
### How to train your own model
|
||||||
|
|
||||||
If You need more fine tuned models try this:
|
If You need more fine tuned models try this:
|
||||||
https://github.com/danielgatis/rembg/issues/193#issuecomment-1055534289
|
<https://github.com/danielgatis/rembg/issues/193#issuecomment-1055534289>
|
||||||
|
|
||||||
|
|
||||||
## Some video tutorials
|
## Some video tutorials
|
||||||
|
|
||||||
- https://www.youtube.com/watch?v=3xqwpXjxyMQ
|
- <https://www.youtube.com/watch?v=3xqwpXjxyMQ>
|
||||||
- https://www.youtube.com/watch?v=dFKRGXdkGJU
|
- <https://www.youtube.com/watch?v=dFKRGXdkGJU>
|
||||||
- https://www.youtube.com/watch?v=Ai-BS_T7yjE
|
- <https://www.youtube.com/watch?v=Ai-BS_T7yjE>
|
||||||
- https://www.youtube.com/watch?v=D7W-C0urVcQ
|
- <https://www.youtube.com/watch?v=D7W-C0urVcQ>
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- https://arxiv.org/pdf/2005.09007.pdf
|
- <https://arxiv.org/pdf/2005.09007.pdf>
|
||||||
- https://github.com/NathanUA/U-2-Net
|
- <https://github.com/NathanUA/U-2-Net>
|
||||||
- https://github.com/pymatting/pymatting
|
- <https://github.com/pymatting/pymatting>
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
@ -349,7 +348,7 @@ This library directly depends on the [onnxruntime](https://pypi.org/project/onnx
|
|||||||
|
|
||||||
Liked some of my work? Buy me a coffee (or more likely a beer)
|
Liked some of my work? Buy me a coffee (or more likely a beer)
|
||||||
|
|
||||||
<a href="https://www.buymeacoffee.com/danielgatis" target="_blank"><img src="https://bmc-cdn.nyc3.digitaloceanspaces.com/BMC-button-images/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;"></a>
|
<a href="https://www.buymeacoffee.com/danielgatis" target="_blank"><img src="https://bmc-cdn.nyc3.digitaloceanspaces.com/BMC-button-images/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;"></a> <!-- markdownlint-disable MD033 -->
|
||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
||||||
|
22
USAGE.md
22
USAGE.md
@ -1,6 +1,7 @@
|
|||||||
# How to use the remove function
|
# How to use the remove function
|
||||||
|
|
||||||
## Load the Image
|
## Load the Image
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from rembg import new_session, remove
|
from rembg import new_session, remove
|
||||||
@ -10,17 +11,22 @@ output_path = 'output.png'
|
|||||||
|
|
||||||
input = Image.open(input_path)
|
input = Image.open(input_path)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Removing the background
|
## Removing the background
|
||||||
|
|
||||||
### Without additional arguments
|
### Without additional arguments
|
||||||
|
|
||||||
This defaults to the `u2net` model.
|
This defaults to the `u2net` model.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output = remove(input)
|
output = remove(input)
|
||||||
output.save(output_path)
|
output.save(output_path)
|
||||||
```
|
```
|
||||||
|
|
||||||
### With a specific model
|
### With a specific model
|
||||||
|
|
||||||
You can use the `new_session` function to create a session with a specific model.
|
You can use the `new_session` function to create a session with a specific model.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
model_name = "isnet-general-use"
|
model_name = "isnet-general-use"
|
||||||
session = new_session(model_name)
|
session = new_session(model_name)
|
||||||
@ -28,7 +34,9 @@ output = remove(input, session=session)
|
|||||||
```
|
```
|
||||||
|
|
||||||
### For processing multiple image files
|
### For processing multiple image files
|
||||||
|
|
||||||
By default, `remove` initialises a new session every call. This can be a large bottleneck if you're having to process multiple images. Initialise a session and pass it in to the `remove` function for fast multi-image support
|
By default, `remove` initialises a new session every call. This can be a large bottleneck if you're having to process multiple images. Initialise a session and pass it in to the `remove` function for fast multi-image support
|
||||||
|
|
||||||
```python
|
```python
|
||||||
model_name = "unet"
|
model_name = "unet"
|
||||||
rembg_session = new_session(model_name)
|
rembg_session = new_session(model_name)
|
||||||
@ -36,33 +44,42 @@ for img in images:
|
|||||||
output = remove(img, session=rembg_session)
|
output = remove(img, session=rembg_session)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### With alpha matting
|
### With alpha matting
|
||||||
|
|
||||||
Alpha matting is a post processing step that can be used to improve the quality of the output.
|
Alpha matting is a post processing step that can be used to improve the quality of the output.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output = remove(input, alpha_matting=True, alpha_matting_foreground_threshold=270,alpha_matting_background_threshold=20, alpha_matting_erode_size=11)
|
output = remove(input, alpha_matting=True, alpha_matting_foreground_threshold=270,alpha_matting_background_threshold=20, alpha_matting_erode_size=11)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Only mask
|
### Only mask
|
||||||
|
|
||||||
If you only want the mask, you can use the `only_mask` argument.
|
If you only want the mask, you can use the `only_mask` argument.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output = remove(input, only_mask=True)
|
output = remove(input, only_mask=True)
|
||||||
```
|
```
|
||||||
|
|
||||||
### With post processing
|
### With post processing
|
||||||
|
|
||||||
You can use the `post_process_mask` argument to post process the mask to get better results.
|
You can use the `post_process_mask` argument to post process the mask to get better results.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output = remove(input, post_process_mask=True)
|
output = remove(input, post_process_mask=True)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Replacing the background color
|
### Replacing the background color
|
||||||
|
|
||||||
You can use the `bgcolor` argument to replace the background color.
|
You can use the `bgcolor` argument to replace the background color.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output = remove(input, bgcolor=(255, 255, 255, 255))
|
output = remove(input, bgcolor=(255, 255, 255, 255))
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using input points
|
### Using input points
|
||||||
|
|
||||||
You can use the `input_points` and `input_labels` arguments to specify the points that should be used for the masks. This only works with the `sam` model.
|
You can use the `input_points` and `input_labels` arguments to specify the points that should be used for the masks. This only works with the `sam` model.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
import numpy as np
|
import numpy as np
|
||||||
# Define the points and labels
|
# Define the points and labels
|
||||||
@ -74,8 +91,7 @@ image = remove(image,session=session, input_points=input_points, input_labels=in
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Save the image
|
## Save the image
|
||||||
|
|
||||||
```python
|
```python
|
||||||
output.save(output_path)
|
output.save(output_path)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user