# Camera.Face

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Deprecated in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Face

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/hardware/Camera.Face "View this page in Java")  

```
open class Face
```

|---|--------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                               ||
| ↳ | [android.hardware.Camera.Face](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#) |

*** ** * ** ***

| **This class was deprecated in API level 21.**
|
| We recommend using the new [android.hardware.camera2](https://developer.android.com/reference/kotlin/android/hardware/camera2/package-summary) API for new applications.

Information about a face identified through camera face detection.

When face detection is used with a camera, the [FaceDetectionListener](https://developer.android.com/reference/kotlin/android/hardware/Camera.FaceDetectionListener) returns a list of face objects for use in focusing and metering.

## Summary

|                                                   Public constructors                                                   ||
|----------------------------------------------------------------------------------------------------------------------|---|
| [Face](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#Face())`()` Create an empty face. |

|                                                                                                                           Properties                                                                                                                           ||
|---------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)            | [id](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#id:kotlin.Int) An unique id per face while the face is visible to the tracker.         |
| [Point](https://developer.android.com/reference/kotlin/android/graphics/Point.html#)! | [leftEye](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#leftEye:android.graphics.Point) The coordinates of the center of the left eye.    |
| [Point](https://developer.android.com/reference/kotlin/android/graphics/Point.html#)! | [mouth](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#mouth:android.graphics.Point) The coordinates of the center of the mouth.           |
| [Rect](https://developer.android.com/reference/kotlin/android/graphics/Rect.html#)!   | [rect](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#rect:android.graphics.Rect) Bounds of the face.                                      |
| [Point](https://developer.android.com/reference/kotlin/android/graphics/Point.html#)! | [rightEye](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#rightEye:android.graphics.Point) The coordinates of the center of the right eye. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)            | [score](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#score:kotlin.Int) The confidence level for the detection of the face.               |

## Public constructors

### Face

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Face()
```

Create an empty face.

## Properties

### id

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var id: Int
```

**Deprecated:** *Deprecated in Java.*

An unique id per face while the face is visible to the tracker. If the face leaves the field-of-view and comes back, it will get a new id. This is an optional field, may not be supported on all devices. If not supported, id will always be set to -1. The optional fields are supported as a set. Either they are all valid, or none of them are.  

### leftEye

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var leftEye: Point!
```

**Deprecated:** *Deprecated in Java.*

The coordinates of the center of the left eye. The coordinates are in the same space as the ones for [rect](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#rect:android.graphics.Rect). This is an optional field, may not be supported on all devices. If not supported, the value will always be set to null. The optional fields are supported as a set. Either they are all valid, or none of them are.  

### mouth

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var mouth: Point!
```

**Deprecated:** *Deprecated in Java.*

The coordinates of the center of the mouth. The coordinates are in the same space as the ones for [rect](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#rect:android.graphics.Rect). This is an optional field, may not be supported on all devices. If not supported, the value will always be set to null. The optional fields are supported as a set. Either they are all valid, or none of them are.  

### rect

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var rect: Rect!
```

**Deprecated:** *Deprecated in Java.*

Bounds of the face. (-1000, -1000) represents the top-left of the camera field of view, and (1000, 1000) represents the bottom-right of the field of view. For example, suppose the size of the viewfinder UI is 800x480. The rect passed from the driver is (-1000, -1000, 0, 0). The corresponding viewfinder rect should be (0, 0, 400, 240). It is guaranteed left \< right and top \< bottom. The coordinates can be smaller than -1000 or bigger than 1000. But at least one vertex will be within (-1000, -1000) and (1000, 1000).

The direction is relative to the sensor orientation, that is, what the sensor sees. The direction is not affected by the rotation or mirroring of [setDisplayOrientation(int)](https://developer.android.com/reference/kotlin/android/hardware/Camera#setDisplayOrientation(kotlin.Int)). The face bounding rectangle does not provide any information about face orientation.

Here is the matrix to convert driver coordinates to View coordinates in pixels.  

```kotlin
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);
  
```  
**See Also**

- [#startFaceDetection()](https://developer.android.com/reference/kotlin/android/hardware/Camera#startFaceDetection())  

### rightEye

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var rightEye: Point!
```

**Deprecated:** *Deprecated in Java.*

The coordinates of the center of the right eye. The coordinates are in the same space as the ones for [rect](https://developer.android.com/reference/kotlin/android/hardware/Camera.Face#rect:android.graphics.Rect).This is an optional field, may not be supported on all devices. If not supported, the value will always be set to null. The optional fields are supported as a set. Either they are all valid, or none of them are.  

### score

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
var score: Int
```

**Deprecated:** *Deprecated in Java.*

The confidence level for the detection of the face. The range is 1 to 100. 100 is the highest confidence.

Depending on the device, even very low-confidence faces may be listed, so applications should filter out faces with low confidence, depending on the use case. For a typical point-and-shoot camera application that wishes to display rectangles around detected faces, filtering out faces with confidence less than 50 is recommended.  
**See Also**

- [#startFaceDetection()](https://developer.android.com/reference/kotlin/android/hardware/Camera#startFaceDetection())