![b7dc4d381f480a45ee2b01af0e162c1c.png](https://i-blog.csdnimg.cn/blog_migrate/ab0d0837d85b7969fe534706fe8d1f2d.jpeg)
首先安装三方依赖removebg,最简单的功能实现如下:
from removebg import RemoveBg
rmbg = RemoveBg("YOUR-API-KEY", "error.log")
rmbg.remove_background_from_img_file("/path/to/file.jpg")
![4003cf337edb7c7d491434eb868da5b3.png](https://i-blog.csdnimg.cn/blog_migrate/a71db6429204da82ed8bec55d3f2778a.jpeg)
抠图效果非常不错,细节处理的也非常好,比起本人手残式的ps抠图效果要好1万倍!代码实现非常简单,实际上上述代码背后执行了一个post请求,背后的实现逻辑也不难:
# Requires "requests" to be installed (see python-requests.org)
import requests
response = requests.post(
'https://api.remove.bg/v1.0/removebg',
files={'image_file': open('/path/to/file.jpg', 'rb')},
data={'size': 'auto'},
headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'},
)
if response.status_code == requests.codes.ok:
with open('no-bg.png', 'wb') as out:
out.write(response.content)
else:
print("Error:", response.status_code, response.text)
其中最有价值的接口在这里:https://api.remove.bg/v1.0/removebg,目前抠图的代码实现没有公开,我相信在github上肯定有类似的实现。不过既然有现成的接口可用,就不要重复造轮子了。
RemoveBg还支持调用img_url和base64的方式来处理图像。具体实现可以参考官方文档。想要成功调用接口,需要小伙伴亲自到官方网站申请注册账号,就可以获得一个免费的Api-Key,每月可以免费调用50次。本人申请了一个账号,各位可以随意使用本人的Api-Key:3uEHRBqtNafVBmWsZYQCBqsT。
官方网站还提供了安装软件以图形化界面的形式来处理图像,支持Windows、Mac和Linux三个平台,支持批处理。如果有小伙伴熟练使用PS,官方网站还提供了PS插件,具体使用方法参考网站介绍就OK了。
![8828e1dd2095d3c375f6fd71cf583e72.gif](https://i-blog.csdnimg.cn/blog_migrate/1f6211a2de5ab8da0516ac39c87f1d3e.gif)
所以,如果抠图可以做了,随意改变图片的背景图片就很容易了。昨天谈到了给图片添加国旗的python程序,两者相互结合一下就可以修改背景了,换个证件照背景颜色很轻松。
推荐阅读
憋再@官方了,头像加国旗,10行代码给你安排!
removebg官方网站