droid_wrap::android::hardware

Struct Camera_Face

Source
pub struct Camera_Face { /* private fields */ }
👎Deprecated: 我们建议在新应用中使用新的 android.hardware.camera2 API。
Expand description

通过相机人脸检测识别的人脸信息。当使用相机进行人脸检测时,Camera.FaceDetectionListener 将返回用于对焦和测光的人脸对象列表。

Implementations§

Source§

impl Camera_Face

Source

pub fn new() -> Self

創建一個空的臉。

Source

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);
Source

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);
Source

pub fn get_score(&self) -> i32

获取人脸检测的置信度。范围是 1 到 100。100 表示置信度最高。 根据设备的不同,甚至可能列出置信度非常低的人脸,因此应用程序应根据用例过滤掉置信度低的人脸。 对于希望在检测到的人脸周围显示矩形的典型傻瓜相机应用程序,建议过滤掉置信度低于 50 的人脸。

Source

pub fn set_score(&self, value: i32)

设置人脸检测的置信度。范围是 1 到 100。100 表示置信度最高。 根据设备的不同,甚至可能列出置信度非常低的人脸,因此应用程序应根据用例过滤掉置信度低的人脸。 对于希望在检测到的人脸周围显示矩形的典型傻瓜相机应用程序,建议过滤掉置信度低于 50 的人脸。

Source

pub fn get_id(&self) -> i32

当人脸对跟踪器可见时,每个人脸都有一个唯一的 ID。如果人脸离开视野后又回来,它将获得一个新的 ID。 这是一个可选字段,可能并非所有设备都支持。如果不支持,ID 将始终设置为 -1。可选字段作为一组支持。要么它们全部有效,要么它们都无效。

Source

pub fn set_id(&self, value: i32)

当人脸对跟踪器可见时,每个人脸都有一个唯一的 ID。如果人脸离开视野后又回来,它将获得一个新的 ID。 这是一个可选字段,可能并非所有设备都支持。如果不支持,ID 将始终设置为 -1。可选字段作为一组支持。要么它们全部有效,要么它们都无效。

Source

pub fn get_left_eye(&self) -> Option<Point>

获取左眼中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Source

pub fn set_left_eye(&self, value: Option<&Point>)

设置左眼中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Source

pub fn get_right_eye(&self) -> Option<Point>

获取右眼中心的坐标。该坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Source

pub fn set_right_eye(&self, value: Option<&Point>)

设置右眼中心的坐标。该坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Source

pub fn get_mouth(&self) -> Option<Point>

获取嘴部中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Source

pub fn set_mouth(&self, value: Option<&Point>)

设置嘴部中心的坐标。坐标与矩形的坐标位于同一空间。这是一个可选字段,可能并非所有设备都支持。如果不支持,则该值将始终设置为 null。可选字段以集合形式受支持。要么全部有效,要么全部无效。

Methods from Deref<Target = GlobalRef>§

Source

pub fn as_obj(&self) -> &JObject<'static>

Get the object from the global ref

This borrows the ref and prevents it from being dropped as long as the JObject sticks around.

Methods from Deref<Target = JObject<'static>>§

Source

pub fn as_raw(&self) -> *mut _jobject

Returns the raw JNI pointer.

Trait Implementations§

Source§

impl Debug for Camera_Face

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Camera_Face

Source§

type Target = GlobalRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl From<&GlobalRef> for Camera_Face

Source§

fn from(obj: &GlobalRef) -> Self

Converts to this type from the input type.
Source§

impl Into<GlobalRef> for &Camera_Face

Source§

fn into(self) -> GlobalRef

Converts this type into the (usually inferred) input type.
Source§

impl JObjNew for Camera_Face

Source§

type Fields = ()

字段类型
Source§

fn _new(this: &GlobalRef, fields: Self::Fields) -> Self

从java对象创建本地对象。 this java对象引用。
Source§

fn null() -> Self
where Self: Sized, Self::Fields: Default,

创建空对象。
Source§

impl JObjRef for Camera_Face

Source§

fn java_ref(&self) -> GlobalRef

获取java对象引用。
Source§

impl JType for Camera_Face

Source§

const CLASS: &'static str = "android/hardware/Camera$Face"

java类的名称。
Source§

const OBJECT_SIG: &'static str = "Landroid/hardware/Camera$Face;"

对象的签名描述。
Source§

type Error = Error

错误类型。
Source§

const DIM: u8 = 0u8

数组维度,0表示不是数组
Source§

impl PartialEq for Camera_Face

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ToString for Camera_Face

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.