原标题:一个能批量抠图的开源神器,网友:Python 已经无所不能

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

简介

rembg 是使用 Python 实现的用于移除背景图片的工具,要求 Python 3.8 或更高版本,支持批量操作,使用方式比较灵活,可以直接使用命令行、作为服务运行、在 docker 中使用,还可以作为库调用。

下载安装

项目的源码地址是:

https://github.com/danielgatis/rembg

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

pipinstall 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表单通过上传文件的形式进行操作:

< formaction= "http://localhost:5000"method= "post"enctype= "multipart/form-data">

< inputtype= "file"name= "file"/>

< inputtype= "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,内容如下:

importsys

fromrembg.bgimportremove

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简单介绍就到这里了,感兴趣的童鞋可以亲自下载安装体验一下,更详细介绍,请见项目主页。返回搜狐,查看更多

责任编辑:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐