Python抠图软件,很棒的软件
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Hmily a26af44f8d
feat:add Dockerfile for containerization
10 months ago
assets Add files via upload 10 months ago
web Add mask download 11 months ago
.gitignore Initial commit 11 months ago
Dockerfile feat:add Dockerfile for containerization 10 months ago
LICENSE Initial commit 11 months ago
README.md Update README.md 10 months ago
app.py Add remove excess transparent background and crop the image function 10 months ago
requirements.txt Update requirements.txt 10 months ago

README.md

Imgae matting

Here are a few effects(omitting mask images)

image-1

image-2

How to Run

Firstly, you need to download the project code and install the required dependencies

# python 3.10

git clone https://github.com/ihmily/image-matting.git
cd image-matting
pip install -r requirements.txt

Next, you can use the following command to run the web interface

python app.py

Finally, you can visit http://127.0.0.1:8000

Use API

Please run it before use API

File upload

import requests

server = "http://127.0.0.1:8000"
image_path = "image.png"
model_name = "universal"  # people,universal
files = {"image": (image_path, open(image_path, "rb"))}
data = {"model": model_name}
response = requests.post(server+'/matting', files=files, data=data)
print(response.text)
json_data = response.json()
image_url = json_data['result_image_url']
mask_url = json_data['mask_image_url']
print("image_url:", server + image_url)
print("mask_url:", server + mask_url)

Url upload

import requests

server = "http://127.0.0.1:8000"
image_url = "http://your-image-url/demo.png"
data = {"image_url": image_url, "model": "universal"}  # people,universal
response = requests.post(server+'/matting/url', json=data)
print(response.text)
json_data = response.json()
image_url = json_data['result_image_url']
mask_url = json_data['mask_image_url']
print("image_url:",server+image_url)
print("mask_url:",server+mask_url)

You can freely choose the method you want to upload from above.If you want to get the cropped cutout, you can call crop_image_by_alpha_channel function.

image-3

image-4

References

https://modelscope.cn/models/damo/cv_unet_universal-matting/summary

https://modelscope.cn/models/damo/cv_unet_image-matting/summary