1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python加颜色_python抠图和添加背景颜色

python加颜色_python抠图和添加背景颜色

时间:2021-01-11 06:59:14

相关推荐

python加颜色_python抠图和添加背景颜色

项目概况简介:通过调用removebg库去除照片中的背景,也可以通过调用PIL库添加背景,这样可以用来实现证件照的背景颜色更换,比如生成白色、蓝色和红色

代码流程:输入-要得到的图片背景处理效果 A-切换为红色背景,B-蓝色,C-白色,D-仅去除背景色,输出-得到对应的图片

removebg库简介:基于 Python、Ruby 和深度学习技术开发,通过强大的 AI 人工智能算法实现自动识别出前景主体与背景图,处理时间在5s以内。用户也可直接到官网上传照片处理,每月最多免费处理 50 张照片如果想生成高清甚至 4K 的图片或者处理更多需要付费,官网如下:https://www.remove.bg。调用接口需要自己注册账号生成一个apikey(在调用接口时必备)

通过创建类来去除图片背景和添加背景

class Imgprocess():

def __init__(self,apikey):

self.apikey = apikey

#removebg: 调用RemoveBg接口并生成去除背景的图片,图片名在原图片名称后加_no_bg.png,

#如本实验原图片名称certificate.jpg 生成的去背景图片名称certificate.jpg_no_bg.png

def removebg(self,img):

rmbg = RemoveBg(self.apikey,"error.log")

rmbg.remove_background_from_img_file(img)

#changebg: 调用PIL添加背景颜色

def changebg(self,img,color):

color_dict = {"A":(255,0,0),"B":(67,142,219),"C":(255,255,255)}

im = Image.open(img)

x,y =im.size

try:

p = Image.new('RGBA', im.size,color=color_dict.get(color))

p.paste(im,(0, 0, x, y), im)

p.save('{}.png'.format('new'+color))

except:

print('changebg err')

pass

主函数(读取用户需要处理照片的效果,如去除背景还是生成其他背景颜色)

def main():

option = input("pls input your taget img type, A:red B:bule C:white D:justremovebg:\n")

print(option)

newimg = Imgprocess("1HvhnyaCtUWbytL15RqCPp4o")

newimg.removebg("certificate.jpg")

if option in list('ABC'):

print('in')

newimg.changebg('certificate.jpg_no_bg.png',option)

print('out')

else:

print('done')

pass

改进和扩展通过os库自动读取需要处理的图片,不限制文件名称必须是「certificate.jpg」

和其他的背景图片组合生成新的有趣图片

批量处理图片

参考文档只需要 3 行代码 5 秒钟就可以完成抠图的 Python 库​www.makcyun.toppython PIL 图像处理库简介(一)​PIL背景颜色设置​Background Removal API – remove.bg​www.remove.bg

github 源码leoloo0510/Enterprise​

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。