pub struct Camera_Face { /* private fields */ }
Expand description
通过相机人脸检测识别的人脸信息。当使用相机进行人脸检测时,Camera.FaceDetectionListener 将返回用于对焦和测光的人脸对象列表。
Implementations§
Source§impl Camera_Face
impl Camera_Face
Sourcepub fn get_rect(&self) -> Rect
pub fn get_rect(&self) -> Rect
获取面部的边界。(-1000, -1000) 表示相机视野的左上角,(1000, 1000) 表示视野的右下角。 例如,假设取景器 UI 的大小为 800x480。从驱动程序传递的矩形为 (-1000, -1000, 0, 0)。相应的取景器矩形应为 (0, 0, 400, 240)。保证左 < 右且上 < 下。 坐标可以小于 -1000 或大于 1000。但至少一个顶点位于 (-1000, -1000) 和 (1000, 1000) 之间。 方向相对于传感器方向,即传感器所见的方向。方向不受 setDisplayOrientation(int) 的旋转或镜像的影响。 面部边界矩形不提供任何有关面部方向的信息。这是将驱动程序坐标转换为像素中的视图坐标的矩阵。
Matrix matrix = new Matrix();
CameraInfo info = CameraHolder.instance().getCameraInfo()[cameraId];
// 前置摄像头需要镜子。
boolean mirror = (info.facing == CameraInfo.CAMERA_FACING_FRONT);
matrix.setScale(mirror ? -1 : 1, 1);
// 这是 android.hardware.Camera.setDisplayOrientation 的值。
matrix.postRotate(displayOrientation);
// 摄像头驱动程序坐标范围从 (-1000, -1000) 到 (1000, 1000)。
// UI 坐标范围从 (0, 0) 到 (width, height)。
matrix.postScale(view.getWidth()/2000f,view.getHeight()/2000f);
matrix.postTranslate(view.getWidth()/2f,view.getHeight()/2f);
Sourcepub fn set_rect(&self, value: &Rect)
pub fn set_rect(&self, value: &Rect)
设置面部的边界。(-1000, -1000) 表示相机视野的左上角,(1000, 1000) 表示视野的右下角。 例如,假设取景器 UI 的大小为 800x480。从驱动程序传递的矩形为 (-1000, -1000, 0, 0)。相应的取景器矩形应为 (0, 0, 400, 240)。保证左 < 右且上 < 下。 坐标可以小于 -1000 或大于 1000。但至少一个顶点位于 (-1000, -1000) 和 (1000, 1000) 之间。 方向相对于传感器方向,即传感器所见的方向。方向不受 setDisplayOrientation(int) 的旋转或镜像的影响。 面部边界矩形不提供任何有关面部方向的信息。这是将驱动程序坐标转换为像素中的视图坐标的矩阵。
Matrix matrix = new Matrix();
CameraInfo info = CameraHolder.instance().getCameraInfo()[cameraId];
// 前置摄像头需要镜子。
boolean mirror = (info.facing == CameraInfo.CAMERA_FACING_FRONT);
matrix.setScale(mirror ? -1 : 1, 1);
// 这是 android.hardware.Camera.setDisplayOrientation 的值。
matrix.postRotate(displayOrientation);
// 摄像头驱动程序坐标范围从 (-1000, -1000) 到 (1000, 1000)。
// UI 坐标范围从 (0, 0) 到 (width, height)。
matrix.postScale(view.getWidth()/2000f,view.getHeight()/2000f);
matrix.postTranslate(view.getWidth()/2f,view.getHeight()/2f);
Sourcepub fn get_score(&self) -> i32
pub fn get_score(&self) -> i32
获取人脸检测的置信度。范围是 1 到 100。100 表示置信度最高。 根据设备的不同,甚至可能列出置信度非常低的人脸,因此应用程序应根据用例过滤掉置信度低的人脸。 对于希望在检测到的人脸周围显示矩形的典型傻瓜相机应用程序,建议过滤掉置信度低于 50 的人脸。
Sourcepub fn set_score(&self, value: i32)
pub fn set_score(&self, value: i32)
设置人脸检测的置信度。范围是 1 到 100。100 表示置信度最高。 根据设备的不同,甚至可能列出置信度非常低的人脸,因此应用程序应根据用例过滤掉置信度低的人脸。 对于希望在检测到的人脸周围显示矩形的典型傻瓜相机应用程序,建议过滤掉置信度低于 50 的人脸。
Sourcepub fn get_id(&self) -> i32
pub fn get_id(&self) -> i32
当人脸对跟踪器可见时,每个人脸都有一个唯一的 ID。如果人脸离开视野后又回来,它将获得一个新的 ID。 这是一个可选字段,可能并非所有设备都支持。如果不支持,ID 将始终设置为 -1。可选字段作为一组支持。要么它们全部有效,要么它们都无效。
Sourcepub fn set_id(&self, value: i32)
pub fn set_id(&self, value: i32)
当人脸对跟踪器可见时,每个人脸都有一个唯一的 ID。如果人脸离开视野后又回来,它将获得一个新的 ID。 这是一个可选字段,可能并非所有设备都支持。如果不支持,ID 将始终设置为 -1。可选字段作为一组支持。要么它们全部有效,要么它们都无效。
Sourcepub fn get_left_eye(&self) -> Option<Point>
pub fn get_left_eye(&self) -> Option<Point>
获取左眼中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。
Sourcepub fn set_left_eye(&self, value: Option<&Point>)
pub fn set_left_eye(&self, value: Option<&Point>)
设置左眼中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。
Sourcepub fn get_right_eye(&self) -> Option<Point>
pub fn get_right_eye(&self) -> Option<Point>
获取右眼中心的坐标。该坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。
Sourcepub fn set_right_eye(&self, value: Option<&Point>)
pub fn set_right_eye(&self, value: Option<&Point>)
设置右眼中心的坐标。该坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。