Face++人体抠像API V1版本图片返回结果为灰度图,但是并不是可以直接用的结果,我们需要的是保留人体部分的像素数据,背景根据需要可以自由替换的。让我们来看看如何才能还原。
原理:
一、V1版本返回值可还原成灰度图,颜色只有黑白灰三种颜色,颜色越白,表明是人体部分的概率(也叫置信度)越大,颜色越黑,不是人体部分的概率越大,灰色的部分既有可能是人体,也有可能不是。需要判断其概率即置信度。
二、灰度图上每个像素点的颜色值计算过程为
R=G=B=255*⼈体置信度
所以,人体置信度=R/255=G/255=B/255
所以,问题的关键就在于,获取灰度图每个点的像素值(RGB值),这样可计算出每个像素点的人体置信度。
三、基于置信度可知每个像素点为人体的概率,设置一个阈值,大于该阈值,我们认为该像素点是人体的一部分,应该保留,小于该阈值的像素点应该被置为背景色。
步骤一:按文档要求传参数
HumanBody Segment API(V1):https://console.faceplusplus.com.cn/documents/10071567
需要上传的参数有: api_key 、api_secret 、ima