public static class Camera.Face
extends Object
java.lang.Object | |
↳ | android.hardware.Camera.Face |
该类在API级别21中已被弃用。
我们建议将新的android.hardware.camera2
API用于新应用程序。
有关通过相机脸部检测识别的脸部的信息。
当脸部检测与相机一起使用时, Camera.FaceDetectionListener
返回用于对焦和测光的脸部对象列表。
也可以看看:
Fields |
|
---|---|
public int |
id 面部对跟踪器可见时,每张面孔的唯一ID。 |
public Point |
leftEye 左眼中心的坐标。 |
public Point |
mouth 嘴中心的坐标。 |
public Rect |
rect 脸的界限。 |
public Point |
rightEye 右眼中心的坐标。 |
public int |
score 检测脸部的置信度。 |
Public constructors |
|
---|---|
Camera.Face() 创建一个空的脸。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int id
面部对跟踪器可见时,每张面孔的唯一ID。 如果脸部离开视野并返回,它将得到一个新的ID。 这是一个可选字段,可能在所有设备上都不支持。 如果不支持,id将始终设置为-1。 可选字段作为一个集合支持。 它们都是有效的,或者它们都不是。
Point leftEye
左眼中心的坐标。 坐标与rect
的坐标位于同一空间。 这是一个可选字段,可能在所有设备上都不支持。 如果不支持,该值将始终设置为空。 可选字段作为一个集合支持。 它们都是有效的,或者它们都不是。
Point mouth
嘴中心的坐标。 坐标与rect
的坐标位于同一空间。 这是一个可选字段,可能在所有设备上都不支持。 如果不支持,该值将始终设置为空。 可选字段作为一个集合支持。 它们都是有效的,或者它们都不是。
Rect rect
脸的界限。 (-1000,-1000)表示相机视野的左上角,(1000,1000)表示视野的右下角。 例如,假设取景器用户界面的大小为800x480。 从驱动程序传递的矩形是(-1000,-1000,0,0)。 相应的取景器矩形应该是(0,0,400,240)。 它保证左<右和上<下。 坐标可以小于-1000或大于1000.但至少有一个顶点将在(-1000,-1000)和(1000,1000)之内。
方向与传感器方向有关,也就是传感器看到的方向。 方向不受setDisplayOrientation(int)
的旋转或镜像setDisplayOrientation(int)
。 面部边界矩形不提供有关面部方向的任何信息。
这里是将驱动器坐标转换为以像素为单位的视图坐标的矩阵。
Matrix matrix = new Matrix(); CameraInfo info = CameraHolder.instance().getCameraInfo()[cameraId]; // Need mirror for front camera. boolean mirror = (info.facing == CameraInfo.CAMERA_FACING_FRONT); matrix.setScale(mirror ? -1 : 1, 1); // This is the value for android.hardware.Camera.setDisplayOrientation. matrix.postRotate(displayOrientation); // Camera driver coordinates range from (-1000, -1000) to (1000, 1000). // UI coordinates range from (0, 0) to (width, height). matrix.postScale(view.getWidth() / 2000f, view.getHeight() / 2000f); matrix.postTranslate(view.getWidth() / 2f, view.getHeight() / 2f);
也可以看看:
Point rightEye
右眼中心的坐标。 坐标与rect
的坐标位于同一空间。这是一个可选字段,可能不支持所有设备。 如果不支持,该值将始终设置为空。 可选字段作为一个集合支持。 它们都是有效的,或者它们都不是。
int score
检测脸部的置信度。 范围是1到100. 100是最高的置信度。
根据设备的不同,甚至可能会列出非常低信度的面孔,因此应用程序应根据用例以低置信度过滤掉面部。 对于希望在检测到的脸部周围显示矩形的典型的傻瓜相机应用程序,建议过滤掉脸部的可信度低于50。
也可以看看: