人脸检测
- C++
更新时间不可用
enableFaceDetection
启用或关闭本地用户的人脸检测功能。
virtual int enableFaceDetection(bool enabled) = 0;注: 该方法仅适用于 Android 和 iOS 平台。
调用时机
该方法需在调用 startPreview 或 enableVideo 开启摄像头之后调用。
相关回调
成功调用该方法后,SDK 会触发 onFacePositionChanged 回调,报告本地用户的人脸信息,包括:
- 本地视频的宽度和高度。
- 人脸在本地视图中的位置。
- 人脸与屏幕之间的距离。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onFacePositionChanged
上报本地用户的人脸检测结果。
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle* vecRectangle, const int* vecDistance, int numFaces)调用 enableFaceDetection 启用人脸检测后,你可以实时获取以下本地用户的信息:
- 本地视频的宽度和高度。
- 人脸在本地视图中的位置。
- 人脸与屏幕之间的距离。
该距离值基于本地视频尺寸和人脸位置的拟合计算得出。
注:
- 该回调仅适用于 Android 和 iOS 平台。
- 当检测到摄像头前的人脸消失时,会立即触发该回调。当未检测到人脸时,为降低本地设备功耗,该回调的触发频率会降低。
- 当人脸靠近屏幕时,SDK 会停止触发该回调。
- 在 Android 平台,该回调中上报的距离值可能与实际距离存在偏差,因此声网不建议将其用于精确计算。
触发时机
当检测到人脸位置变化时触发。
参数
| 参数名 | 描述 |
|---|---|
imageWidth | |
imageHeight | |
vecRectangle | 长度为
|
vecDistance | |
numFaces |