前言
又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https:///brilam/remove-bg
上代码,这里就只展示处理单张图片的代码,批量处理图片以及根据url处理图片的相关代码均在README.md中有展示
from removebg import RemoveBg# 抠单张图片rmbg = RemoveBg("xxxxx", "error.log") # 引号内是你获取的APIrmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg",size='regular') # 图片地址效果如下
但奇怪的是加上填充纯色背景的属性bg_color='e.g.red'后会有这样的报错,尚未解决
后来使用了PIL库来实现背景的填充
from PIL import Image# 加载已去背景的图像im = Image.open('./pic/no-bg.png')x, y = im.sizetry: # 填充红色背景 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') p.show() #显示处理后的图片except: with open('./error1.log', 'a') as f: f.write('background change fail .')效果如下
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。