|
@@ -0,0 +1,71 @@
|
|
|
+# How to use the remove function
|
|
|
+
|
|
|
+## Load the Image
|
|
|
+```python
|
|
|
+from PIL import Image
|
|
|
+from rembg import new_session, remove
|
|
|
+
|
|
|
+input_path = 'input.png'
|
|
|
+output_path = 'output.png'
|
|
|
+
|
|
|
+input = Image.open(input_path)
|
|
|
+```
|
|
|
+## Removing the background
|
|
|
+
|
|
|
+### Without additional arguments
|
|
|
+This defaults to the `u2net` model.
|
|
|
+```python
|
|
|
+output = remove(input)
|
|
|
+output.save(output_path)
|
|
|
+```
|
|
|
+
|
|
|
+### With a specific model
|
|
|
+You can use the `new_session` function to create a session with a specific model.
|
|
|
+```python
|
|
|
+model_name = "isnet-general-use"
|
|
|
+session = new_session(model_name)
|
|
|
+output = session.remove(input, session=session)
|
|
|
+```
|
|
|
+
|
|
|
+### With alpha metting
|
|
|
+Alpha metting is a post processing step that can be used to improve the quality of the output.
|
|
|
+```python
|
|
|
+output = remove(input, alpha_matting=True, alpha_matting_foreground_threshold=270,alpha_matting_background_threshold=20, alpha_matting_erode_size=11)
|
|
|
+```
|
|
|
+
|
|
|
+### Only mask
|
|
|
+If you only want the mask, you can use the `only_mask` argument.
|
|
|
+```python
|
|
|
+output = remove(input, only_mask=True)
|
|
|
+```
|
|
|
+
|
|
|
+### With post processing
|
|
|
+You can use the `post_process_mask` argument to post process the mask to get better results.
|
|
|
+```python
|
|
|
+output = remove(input, post_process_mask=True)
|
|
|
+```
|
|
|
+
|
|
|
+### Replacing the background color
|
|
|
+You can use the `bgcolor` argument to replace the background color.
|
|
|
+```python
|
|
|
+output = remove(input, bgcolor=(255, 255, 255))
|
|
|
+```
|
|
|
+
|
|
|
+### Using input points
|
|
|
+You can use the `input_point` and `input_label` argument to specify the points that should be used for the masks. This only works with the `sam` model.
|
|
|
+```python
|
|
|
+import numpy as np
|
|
|
+# Define the points and labels
|
|
|
+# The points are defined as [y, x]
|
|
|
+input_point = np.array([[400, 350], [700, 400], [200, 400]])
|
|
|
+input_label = np.array([1, 1, 2])
|
|
|
+
|
|
|
+image = remove(image,session=session, input_point=input_point, input_label=input_label)
|
|
|
+```
|
|
|
+
|
|
|
+## Save the image
|
|
|
+```python
|
|
|
+output.save(output_path)
|
|
|
+```
|
|
|
+
|
|
|
+
|