随笔 - 38  文章 - 0  评论 - 13  阅读 - 87655

Python使用工具实现简单抠图、背景色替换

我们经常会使用PhotoShop来作为抠图工具实现一些日常的证件照背景色替换,复杂的会比较繁琐,这里使用Python来实现快速抠图置换背景色。
removebg是一个利用AI智能抠图的网站,提供了API 接口,可以直接调用并实现抠图,每月有50张免费,使用前需要去官网 https://www.remove.bg/ 注册并获取API KEY,
可以通过谷歌浏览器打开,key可以在登录后新建获取即可。
1.安装removebg库
pip install removebg
2.安装pillow
pip install pillow
3.实现抠图
因为图片具有隐私性、版权性,这里不作截图展示,可以使用自身的证件照进行测试
rmbg = RemoveBg("你注册新建获取的秘钥", "error.log")
# 输入你自己想要抠图的图片路径
rmbg.remove_background_from_img_file("./img/2.png")
4.实现背景颜色替换
复制代码
from removebg import RemoveBg
from PIL import Image

rmbg = RemoveBg("你注册新建获取的秘钥", "error.log")
# 输入你想要扣图的图片路径
fileIn = 'D:/python/img/2.png'
# 输入你最后完成输出的图片路径
fileOut = 'D:/python/img/23.png'
# 换背景色
# 白色:rgb(255, 255, 255)
# 蓝色:rgb(0, 0, 255),(0, 125, 255)
# 红色:rgb(255, 0, 0)
color = (0, 125, 255)
# split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
p, s = fileIn.split(".")
rmbg.remove_background_from_img_file(fileIn)
fileNoBg = "{}.{}_no_bg.{}".format(p, s, s)
noBgImage = Image.open(fileNoBg)
x, y = noBgImage.size
newImage = Image.new('RGBA', noBgImage.size, color=color)
newImage.paste(noBgImage, (0, 0, x, y), noBgImage)
newImage.save(fileOut)
复制代码
根据自己需要的背景色,输入即可,这里只列出通用的白、蓝、红,其他需要的可再自行输入。
posted on   进击的qing  阅读(1374)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示