跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

图像采集#

本主题介绍如何设置连续图像采集,并提供有关抓取策略的建议。

连续采集#

该示例演示了如何使用以下工具设置连续图像采集: LatestImageOnly grab strategy.

with pylon.InstantCamera(pylon.FirstFound) as camera:
    camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)

    while camera.IsGrabbing():
        with camera.RetrieveResult(5000) as grab_result:
            if grab_result.GrabSucceeded():
                image = grab_result.Array

采集策略#

抓取策略定义了当相机生成画面的速度快于应用程序处理画面的速度时,如何在内部缓冲区队列中处理图像。

简而言之,它们回答了这样一个问题:当应用程序仍在处理较旧的图像时,如果有新图像到达,应该怎么做?

通常有两种抓取策略:

  • LatestImageOnly:
    • 仅保留最新的图像。
    • 较旧的画面可能会被丢弃。
  • OneByOne:
    • 所有画面都会排队并按顺序处理。
    • 不会丢弃任何画面(除非缓冲区溢出)。

确定性处理

  • 使用 LatestImageOnly 适用于:
    • 实时显示
    • GUI
    • 低延迟系统
  • 使用 OneByOne 适用于:
    • 检测系统
    • 录制
    • 确定性处理

有关权衡和内部行为的详细解释,请参见 Performance Optimization 主题。

心智模型#

Camera → [F1, F2, F3, F4]

LatestImageOnly:
                → Keep F4 only

OneByOne:
                → Process F1 → F2 → F3 → F4