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¶
Public Properties¶
Public Functions¶
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之后使用。