diff --git a/USAGE.md b/USAGE.md new file mode 100644 index 0000000..5cb14dc --- /dev/null +++ b/USAGE.md @@ -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) +``` + +