一个相机调用最基本要有“单次”和“连续”两种采集模式。单次采集功能用于获取一副图像用以图像处理,操作来源可能是一个“按钮”或者一个”方法“或者一个”电平信号“。而连续采集则用于调试相机和镜头参数或者连续图像处理。

那么具体操作形式呢?模仿是最好的老师,看看 pylon viewer 怎么做的。

1. Pylon Viewer 默认自由运行模式

Android 采集摄像头信息直播 摄像头采集模式_图像处理

  • open camera 打开相机
  • close camera 关闭相机
  • single shot 单次触发。这个按钮,按一次采集一次图像。采集过程中按钮灰色,采集完成后按钮恢复可用。
  • continuous shot 连续触发。这个按钮按下,就会连续不断地采集图像。
  • stop 停止

这就是 pylon viewder 的操作逻辑。功能清晰操作分明,不会引起混淆。然而,两个shot按钮底层如何调用API看不出来。

但是注意:以上操作都是在默认参数情况的设置,也即相机被配置成了自由运行状态。查看参数:

Android 采集摄像头信息直播 摄像头采集模式_Android 采集摄像头信息直播_02

 

前文提过,自由运行图像采集模式不需要用户触发。这个选项不在 Pylon Viewer ,需要编程设置。

设置方式:

  1. 设置采集模式为连续 AcquisitionMode_Continuous
  2. 选择一种触发类型,比如 FrameStart
  3. 设置触发模式为 OFF
  4. 重复上述步骤设置所有触发类型

 采集模式就是单次触发或者连续触发按钮设置的。而触发类型和触发模式都默认为 OFF。并且默认参数也是 Line1 触发。

2. 设置为软件触发模式

自由运行模式可以理解成相机内部触发,所以相应的触发模式还有外部触发,而外部又分为 Line1 和 Software Trigger 两种触发。

软件触发 Trigger Software 为例:

  1. 单单设置触发源为 Trigger Software ,操作 Generate software trigger , 无任何改变,操作效果同自由运行。
  2. 将Trigger Selector 某项设置 mode 为 on。
  3. 按下 single shot 按钮,按钮变灰,处于等待状态,操作 Generate software trigger 后,会获取一张图片,按钮恢复可操作状态。
  4. 再次重复步骤3才可以再采集一张图片。
  5. 按下 continuous shot 按钮,可反复操作 Generate software trigger 获取单幅图片。

3. 再设置为自由运行状态

  1. 在软件触发模式下,按下 continuous shot 按钮,每操作一次 Generate software trigger 会获取一张图片。
  2. 在此状态下,将 Trigger Selector 所有项设置 mode 为 off,则自动恢复为自由运行连续触发模式。

 

根据以上推测,continuous shot 按钮启动了一个循环运行,single shot 按钮启动了一次方法。(待验证推测)

P.S. 要是 pylon viewer 开源就好了