人脸检测
enableFaceDetection
开启/关闭本地人脸检测。
virtual int enableFaceDetection(bool enabled) = 0;
该方法在加入频道前后都能调用。
注意: 该方法仅适用于 Android 和 iOS。
开启本地人脸检测后,SDK 会触发 onFacePositionChanged
回调向你报告人脸检测的信息:
-
摄像头采集的画面大小
-
人脸在 view 中的位置
-
人脸距设备屏幕的距离
该方法需要在相机启动(如通过调用 startPreview [2/2]
或 enableVideo
实现)后调用。
参数
参数名 | 描述 |
---|---|
enabled | 是否开启人脸检测:
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
onFacePositionChanged
报告本地人脸检测结果。
virtual void onFacePositionChanged(int imageWidth, int imageHeight,
const Rectangle* vecRectangle, const int* vecDistance,
int numFaces) {
(void) imageWidth;
(void) imageHeight;
(void) vecRectangle;
(void) vecDistance;
(void) numFaces;
}
调用 enableFaceDetection
(true)
开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息:
-
摄像头采集的画面大小
-
人脸在 view 中的位置
-
人脸距设备屏幕的距离
其中,人脸距设备屏幕的距离由 SDK 通过摄像头采集的画面大小和人脸在 view 中的位置拟合计算得出。
注意:
-
该回调仅适用于 Android 和 iOS 平台。
-
当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
-
当人脸距离设备屏幕过近时,SDK 不会触发该回调。
-
Android 平台上,人脸距设备屏幕的距离(
distance
)值有一定误差,请不要用它进行精确计算。
参数
参数名 | 描述 |
---|---|
imageWidth | 摄像头采集画面的宽度 (px)。 |
imageHeight | 摄像头采集画面的高度 (px)。 |
vecRectangle | 是一个长度为
|
vecDistance | 是一个长度为 |
numFaces | 检测的人脸数量。如果为 0,则表示没有检测到人脸。 |