乐趣区

关于ide:谁说抠图要会-PS这个开源神器还能批量抠效果拔群

【导语】:一款可用于疾速移除背景图片的开源工具,装置配置后可在服务器、命令行中对图片进行批量操作。

简介

rembg 是应用 Python 实现的用于移除背景图片的工具,要求 Python 3.8 或更高版本,反对批量操作,应用形式比拟灵便,能够间接应用命令行、作为服务运行、在 docker 中应用,还能够作为库调用。

下载安装

我的项目的源码地址是:

https://github.com/danielgati…

要求 Python 3.8 或更高版本,应用以下命令进行装置:

pip install rembg

简略应用

1、在命令行中应用

在命令行中能够对服务端图片、本地图片以及整个文件夹图片进行操作,如下:

(1)对近程图片进行操作:

curl -s http://input.png | rembg > output.png

(2)对本地图片进行操作:

rembg -o path/to/output.png path/to/input.png

(3)对整个文件夹里的图片进行操作:

rembg -p path/to/inputs

2、作为服务应用

(1)启动服务

rembg-server

(2)如果图片能够间接链接拜访,则能够通过浏览器间接关上以下地址操作:

http://localhost:5000?url=http://image.png

也能够应用 HTML 表单通过上传文件的模式进行操作:

<form action="http://localhost:5000" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit" value="upload"/>
 </form>

3、在 docker 中应用

在 docker 中应用也很不便,间接运行以下命令:

curl -s http://input.png | docker run -i -v ~/.u2net:/root/.u2net danielgatis/rembg:latest > output.png

4、作为库调用

间接在脚本里调用也很简便,先创立 app.py,内容如下:

import sys
from rembg.bg import remove
sys.stdout.buffer.write(remove(sys.stdin.buffer.read()))

再执行命令运行:

cat input.png | python app.py > out.png

我的项目样例应用成果:

高级应用

有些图片可能应用 alpha matting 模式(即应用 -a -ae 15 选项)解决成果会更加完满,命令如下:

curl -s http://input.png | rembg -a -ae 15 > output.png

成果比照图如下:

结语

remgb 简略介绍就到这里了,感兴趣的童鞋能够亲自下载安装体验一下,更具体介绍,请见我的项目主页。

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

退出移动版