人工生成人脸遮挡数据,使用paste函数,img1是大图(背景图),img2是要贴上去的小图(前景图片),
坐标是(x, y)与(x + w, y +h)
(0,0,50,50)则是把大小为50,50的前景图贴到大图的左上角。
img1 = img1.paste(img2, (13, 0, 97, 40))
img1.save('C:/Face_occlusion_detect/crop_one.png', quality=95, subsampling=0)
在大图上添加遮挡,以上代码会报错
img1.save('C:/Face_occlusion_detect/crop_one.png', quality=95, subsampling=0)
AttributeError: 'NoneType' object has no attribute 'save'
要注意paste操作完不需要赋值操作,以下代码即可
img1.paste(img2, (13, 0, 97, 40))
img1.save('C:/Face_occlusion_detect/crop_one.png', quality=95, subsampling=0)
使用PIL库
img2 = img2.resize((35, 74))
img2 = img2.transpose(Image.ROTATE_90)
# img2 = np.rot90(img2)
print(img2.size)
img1.paste(img2, (18, 21, 92, 56))
将手机贴到人脸上,效果如下: