人脸特征点检测器要求输入原始图像数据和人脸位置,返回人脸 5 个或者其他数量的的特征点的坐标(特征点的数量和加载的模型有关)。
2.1 struct SeetaImageData
名称
类型
说明
data
unit8_t*
图像数据
width
int32_t
图像的宽度
height
int32_t
图像的高度
channels
int32_t
图像的通道数
说明:存储彩色(三通道)或灰度(单通道)图像,像素连续存储,行优先,采用 BGR888 格式存放彩色图像,单字节灰度值存放灰度图像。
名称
类型
说明
x
int32_t
人脸区域左上角横坐标
y
int32_t
人脸区域左上角纵坐标
width
int32_t
人脸区域宽度
height
int32_t
人脸区域高度
名称
类型
说明
x
double
人脸特征点横坐标
y
double
人脸特征点纵坐标
人脸特征点检测器。
模型运行的计算设备。
名称
说明
SEETA_DEVICE_AUTO
自动检测,会优先使用 GPU
SEETA_DEVICE_CPU
使用CPU计算
SEETA_DEVICE_GPU
使用GPU计算
3.2 struct SeetaModelSetting
构造人脸特征点检测器需要传入的结构体参数。
参数
类型
缺省值
说明
model
const char**
检测器模型
id
int
GPU id
device
SeetaDevice
AUTO
计算设备(CPU 或者 GPU)
参数
类型
缺省值
说明
setting
const SeetaModelSetting&
检测器结构参数
获取模型对应的特征点数组长度。
参数
类型
缺省值
说明
返回值
int
模型特征点数组长度
获取人脸特征点。
参数
类型
缺省值
说明
image
const SeetaImageData&
图像原始数据
face
const SeetaRect&
人脸位置
points
SeetaPointF*
获取的人脸特征点数组(需预分配好数组长度,长度为number()返回的值)
返回值
void
获取人脸特征点和遮挡信息。
参数
类型
缺省值
说明
image
const SeetaImageData&
图像原始数据
face
const SeetaRect&
人脸位置
points
SeetaPointF*
获取的人脸特征点数组(需预分配好数组长度,长度为number()返回的值)
mask
int32_t*
获取人脸特征点位置对应的遮挡信息数组(需预分配好数组长度,长度为number()返回的值), 其中值为1表示被遮挡,0表示未被遮挡
返回值
void
获取人脸特征点。
参数
类型
缺省值
说明
image
const SeetaImageData&
图像原始数据
face
const SeetaRect&
人脸位置
返回值
std::vector
获取的人脸特征点数组
获取人脸特征点和遮挡信息。
参数
类型
缺省值
说明
image
const SeetaImageData&
图像原始数据
face
const SeetaRect&
人脸位置
返回值
std::vector
获取人脸特征点和是否遮挡数组