本文主要是介绍抠图换背景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
from PIL import Image
filepath='/Users/kangyongqing/Downloads/'
file1='tu1.png' #原图
file2='tu2.jpg' #新背景kun=Image.open(filepath+file1)
background=Image.open(filepath+file2)
kun=kun.convert('RGBA') #转换为RGBA,A表示透明度
w,h=kun.size
for x in range(0,w):for y in range(0,h):r,g,b,a=kun.getpixel((x,y))if r==118 and g==130 and b==222: #用微信截图看了原图的背景色为#7682de,换算为RGB,即118,130,222,十六进制转换RGBa=0 #使原图的背景色完全透明kun.putpixel((x,y),(r,g,b,a))
kun.save(filepath+'tu3.png') #保存抠出来的图片background.paste(kun,(640,250),mask=kun.split()[3]) #把抠出来的图片粘贴到新的背景中
background.save(filepath+'tu4.png')
注释在代码中有标记,其中用微信查看背景色,十六进制转换RGB方法为,RGB分别对应#后边的两位字符,从右往左第一位字符+第二位字符*16即可转化,如76=6+7*16=118,82=2+8*16=130,de=14+13*16=222(十六进制分别对应0~9,ABCDEF,A表示10,F表示15)
如上,即可实现抠图换背景
这篇关于抠图换背景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!