• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用Python代码实现一键抠背景功能

python 搞代码 4年前 (2022-01-07) 30次浏览 已收录 0个评论

这篇文章主要给大家介绍了关于如何利用Python代码实现一键抠背景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh

ps:加上/zh后,网页内容会显示中文

  1. 首先是安装removebg模块
  2. 然后就敲代码了,官方使用文档是个好东西,应该好好利用

有趣的是,意外发现了两种使用API的方法

1.用到爬虫的知识,利用requests模块,从网页上调用,直接实现抠背景

 # 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-600', '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-600', 'wb') as out: out.write(response.content) else: print("Error:", response.status_code, response.text)

效果如下:

2.参照removebg库中的使用说明调用API,用相关代码实现抠背景

从gitub上下载removebg库源码时会有一个使用说明,即README.md,链接如下
https://github.com/brilam/remove-bg

上代码,这里就只展示处理单张图片的代码,批量处理图片以及根据url处理图片的相关代码均在README.md中有展示

 from removebg import RemoveBg # 抠单张图片 rmbg = RemoveBg("xxxxx", "error.log") # 引号内是你获取的API rmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg-600",size='regular') # 图片地址

效果如下

 from removebg import RemoveBg # 抠单张图片 rmbg = RemoveBg("P3UCVZzKiUxW7BbkmcRYhgTB", "error.log") # 引号内是你获取的A<a style="color:transparent">来源gao*daima.com搞@代#码网</a>PI rmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg-600",size='regular',bg_color='e.g.red') # 图片地址

但奇怪的是加上填充纯色背景的属性bg_color=’e.g.red’后会有这样的报错,尚未解决

后来使用了PIL库来实现背景的填充

 from PIL import Image # 加载已去背景的图像 im = Image.open('./pic/no-bg.png-600') x, y = im.size try: # 填充红色背景 p = Image.new('RGBA', im.size, (255, 0, 0)) p.paste(im, (0, 0, x, y), im) #paste的背景尺寸需与原图尺寸相同 # 保存填充后的图片 p.save('./pic/no-bg_red_bg.png-600') p.show() #显示处理后的图片 except: with open('./error1.log', 'a') as f: f.write('background change fail .')

效果如下

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对gaodaima搞代码网的支持。

以上就是利用Python代码实现一键抠背景功能的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用Python代码实现一键抠背景功能

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址