RemoveBG by AI 是一个利用AI模型对指定图片的指定矩形区域进行抠图,将该区域内的主要单一物体或人物扣取出来,去除背景的工具。该项目使用了 RMBG-1.4 AI模型。
Windows程序的端口号80,如需修改端,可编辑 .env
文件。
克隆此仓库:
git clone https://github.com/sssxyd/removebg-by-ai.git
下载模型,因本账号的LFS配额用完,可从RMBG-1.4,或 百度网盘提取码1234, 下载模型文件覆盖到model目录
安装运行:
# 确保python版本 >= 3.10
cd removebg-by-ai
python -m venv venv
source venv/bin/activate # Windows 用户使用 `venv\Scripts\activate`
pip install -r requirements.txt
python start.py
或者使用docker安装
cd removebg-by-ai
docker build -t sssxyd/rmbgapi .
docker run -d -p 80:10086 sssxyd/rmbgapi
Compile from source code
pyinstaller --onefile --name=removebg --icon=favicon.ico .\command.py
Please ensure that the packaged executable file and the model directory are in the same directory.
Download Windows executable file
Usage
Usage: removebg SRC_IMAGE_PATH TARGET_IMAGE_PATH
or: removebg SRC_IMAGE_URL TARGET_IMAGE_PATH
Options Supported:
--rect=rectangle optional, selected rectangle: x,y,width,height
path: str
- 图片的相对地址;path/url/base64三选一url: str
- 图片的http地址;path/url/base64三选一base64: str
- 图片的base64格式数据;path/url/base64三选一selectPolygon: [[x1,y1], [x2, y2], [x3, y3], [x4, y4]]
- 可选,图片上的rectangle四个点的坐标editorSize: [width, height]
- 可选,框选图片时,图片缩放图的宽度和高度responseFormat: int = 0
- 返回的数据类型 0/1, 默认0url: str
- 图片的http地址http://localhost/removebg?url=https://xxx.com/xx.jpg
const payload = {
base64: imageBase64,
selectPolygon: [[100,100], [200,100], [100, 200], [200,200]],
editorSize: [400, 300],
responseFormat: 0
}
fetch('/removebg', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
})
.then(resp => {
if(resp.status == 200){
resp.json().then(apiResult => {
if(apiResult.code != 0){
alert(apiResult.msg)
}
else{
responseImageBase64 = apiResult.result
}
}).catch(error => {
console.log(error)
})
}
else{
console.error(resp.status + ":" + resp.statusText)
}
})
.catch(error => {
console.log(error)
})