查看原文
其他

谁说抠图要会 PS?这个开源神器还能批量抠,效果拔群!

小秋 开源前哨 2021-02-01

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


简介


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


下载安装


项目的源码地址是:

https://github.com/danielgatis/rembg


要求 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 sysfrom rembg.bg import removesys.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简单介绍就到这里了,感兴趣的童鞋可以亲自下载安装体验一下,更详细介绍,请见项目主页。


- EOF - 


更多优秀开源项目(点击下方图片可跳转)


如果觉得本文介绍的开源项目不错,欢迎转发推荐给更多人。



分享、点赞和在看

支持我们分享更多优秀开源项目,谢谢!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存