一个相机调用最基本要有“单次”和“连续”两种采集模式。单次采集功能用于获取一副图像用以图像处理,操作来源可能是一个“按钮”或者一个”方法“或者一个”电平信号“。而连续采集则用于调试相机和镜头参数或者连续图像处理。
那么具体操作形式呢?模仿是最好的老师,看看 pylon viewer 怎么做的。
1. Pylon Viewer 默认自由运行模式
- open camera 打开相机
- close camera 关闭相机
- single shot 单次触发。这个按钮,按一次采集一次图像。采集过程中按钮灰色,采集完成后按钮恢复可用。
- continuous shot 连续触发。这个按钮按下,就会连续不断地采集图像。
- stop 停止
这就是 pylon viewder 的操作逻辑。功能清晰操作分明,不会引起混淆。然而,两个shot按钮底层如何调用API看不出来。
但是注意:以上操作都是在默认参数情况的设置,也即相机被配置成了自由运行状态。查看参数:
前文提过,自由运行图像采集模式不需要用户触发。这个选项不在 Pylon Viewer ,需要编程设置。
设置方式:
- 设置采集模式为连续 AcquisitionMode_Continuous
- 选择一种触发类型,比如 FrameStart
- 设置触发模式为 OFF
- 重复上述步骤设置所有触发类型
采集模式就是单次触发或者连续触发按钮设置的。而触发类型和触发模式都默认为 OFF。并且默认参数也是 Line1 触发。
2. 设置为软件触发模式
自由运行模式可以理解成相机内部触发,所以相应的触发模式还有外部触发,而外部又分为 Line1 和 Software Trigger 两种触发。
以软件触发 Trigger Software 为例:
- 单单设置触发源为 Trigger Software ,操作 Generate software trigger , 无任何改变,操作效果同自由运行。
- 将Trigger Selector 某项设置 mode 为 on。
- 按下 single shot 按钮,按钮变灰,处于等待状态,操作 Generate software trigger 后,会获取一张图片,按钮恢复可操作状态。
- 再次重复步骤3才可以再采集一张图片。
- 按下 continuous shot 按钮,可反复操作 Generate software trigger 获取单幅图片。
3. 再设置为自由运行状态
- 在软件触发模式下,按下 continuous shot 按钮,每操作一次 Generate software trigger 会获取一张图片。
- 在此状态下,将 Trigger Selector 所有项设置 mode 为 off,则自动恢复为自由运行连续触发模式。
根据以上推测,continuous shot 按钮启动了一个循环运行,single shot 按钮启动了一次方法。(待验证推测)
P.S. 要是 pylon viewer 开源就好了