CameraDevice Class

Inherits: Base

Description

CameraDevice实现了一个camera设备。

CameraDevice工作在它自己的线程上。你可以Open/Close camera,也可以在任意时间关闭并重新开启一个不同的camera 设备或是设置不同的参数。Start/Stop用来开始和停止camera预览,这两个操作不会影响之前所设置的camera参数和算法连接。cam era的控制方法与系统API提供的方法类似。

CameraDevice是tracker以及其它算法的输入源。在调用任何其它方法之前,你需要首先调用Open来打开一个设备,否则其它调用都将 是无效的。EasyAR里面所有的算法模块只有在连接CameraDevice之后才会工作。如果CameraDevice被关闭,所有算法将丢失与 该CameraDevice的连接,并且这些连接即使在重新打开设备之后也是无法恢复的,需要重新调用attach方法进行连接。

Public Types

enum FocusMode{Normal, Triggerauto, Continousauto, Infinity, Macro}
enum Device{Default, Back, Front}

Public Properties

CameraCalibration Calibration
float FPS
bool IsOpened
Vector2I Size
float[] SupportedFPS
Vector2I[] SupportedSize
bool HorizontalFlip (since 1.3.0)

Public Functions

CameraDevice()
bool Open(Device camera = Device.Default)
bool Open(int camera) (since 1.3.0)
bool Close()
bool Start()
bool Stop()
bool SetFlashTorchMode(bool on)
bool SetFocusMode(FocusMode focusMode)

enum FocusMode

Constant

Value

Description

Normal

0

常规对焦模式,在这个模式下需要调用SetFocusMode(FocusMode.Triggerauto)来触发对焦。

Triggerauto

1

触发自动对焦。对焦模式将会被设为FocusMode.Normal.

Continousauto

2

连续自动对焦模式

Infinity

3

无穷远对焦模式

Macro

4

微距对焦模式。在这个模式下需要调用SetFocusMode(FocusMode.Triggerauto)来触发对焦。

enum Device

Constant

Value

Description

Default

0

默认camera

Back

1

后置camera

Front

2

前置camera

bool IsOpened

如果CameraDevice已打开则返回true,否则返回false。这个方法对于获取参数的函数是非常有用的,因为只有一个已经打开的came ra才会返回有效值。

float FPS

当前帧率。在set中最接近设置值的可选值将被使用。在成功的Open之后使用。

float[] SupportedFPS

当前设备支持的所有帧率。在成功的Open之后使用。

Vector2I Size

当前图像大小。在set中最接近设置值的可选值将被使用。在成功的Open之后使用。

Vector2I[] SupportedSize

当前设备支持的所有图像大小。在成功的Open之后使用。

bool HorizontalFlip (since 1.3.0)

水平翻转标志。如果设置,camera图像相对默认状态会水平翻转。在成功的Open之后使用。

CameraCalibration Calibration

当前相机标定数据。在成功的Open之后使用。

CameraDevice()

创建CameraDevice实例。

bool Open(Device camera = Device.Default)

打开类型为 camera 的camera设备。在桌面系统中,Device.Default表示默认的camera,而大于0的数值表示设备号码(从1开始编号)。

bool Open(int camera) (since 1.3.0)

打开index为 camera 的camera设备。在桌面系统中,0表示默认的camera,而大于0的数值表示设备号码(从1开始编号)。

bool Close()

关闭camera。如果CameraDevice被关闭,所有算法将丢失与该CameraDevice的连接,并且这些连接即使在重新打开设备之后也 是无法恢复的,需要重新调用attach方法进行连接。

bool Start()

开始捕获图像。

bool Stop()

停止捕获图像。这个方法只会停止捕获,所有参数和算法连接将不会受到影响。

bool SetFlashTorchMode(bool on)

设置flash torch模式为 on 。在成功的Open之后使用。

bool SetFocusMode(FocusMode focusMode)

设置对焦模式为 focusMode 。在Start之后使用。