这篇文章主要是介绍更换证件照背景颜色程序的简单思路和实例,如果需要的话我会更进一步的处理细节。
思路:循环每一个像素,将需要更换的背景颜色变成指定的颜色。
from PIL import Image
i=Image.open('picture.jpg')
w=i.size[0]
h=i.size[1]
g=i.getpixel((1,1))#颜色试点
for y in range(h):
for x in range(w):
r=i.getpixel((x,y))
if g[0]-35<r[0]<g[0]+35 and g[1]-35<r[1]<g[1]+35 and g[2]-35<r[2]<g[2]+35:
i.putpixel((x,y),(0,0,255))#红色(255,0,0)蓝色(0,0,255)白色(255,255,255)
i.show()
i.save('p.jpg')
解析:使用pillow库,读取图片以及长宽,读取件照背景颜色rgb数值,遍历照片每一个像素,如果rgb数值与背景颜色rgb数值相差不超过35,则更换该像素为指定颜色,接着预览图片,保存图片。
本程序会有一些小瑕疵,如果需要的话就在评论区留言,我会进一步的改进代码。