触发和图像统计

简短说明

文件: \examples\Processing\DebuggingAndTest\TriggerAndImageStatistics.va

默认平台: mE5-MA-VCL

简要说明

其中提供了对触发和 Camera Link 功能的分析。 用户可以分析 Camera Link Base 配置下的黑白相机图像数据流。 该设计仅适用于硬件。

借助示例设计 "TriggerAndImageStatistics.va",可以分析触发和 Camera Link 功能,例如脉冲数、信号宽度和周期。 此外,还会测量触发信号与 Camera Link 信号之间的差异。 用户可以在软件触发、触发发生器或外部源之间选择生成触发信号。 在此设计中,用户还可以分析 Camera Link Base 配置下的黑白相机的图像数据流。 该设计仅适用于硬件。它不适用于 VisualApplets 内的仿真。该设计 适合作为图像处理设计的调试“附加项”。 以下将对 "TriggerAndImageStatistics.va" 的功能进行解释。其基本设计结构如 图 290 所示。

VA 设计 "TriggerAndImageStatistics.va" 的基本设计结构

图 290. VA 设计 "TriggerAndImageStatistics.va" 的基本设计结构


在 HierarchicalBox ImageAnalysis 中,将对 Camera Link Base 配置下的黑白相机图像数据流进行分析。 其中会测量当前帧以及完整图像序列的图像属性(例如图像尺寸以及单帧之间的行长偏差)。 这些帧通过 DMA 发送到 PC。此外,用户还可以 使用调试算子 ImageMonitor 在管线中的任何定义点监视图像。在 HierarchicalBox TriggerStatistics 中,会测量触发信号以及诸如 LVAL 和 FVAL 等 Camera Link 信号的属性。关于 盒子 TriggerAnalysis 的内容,请参见图 291。

HierarchicalBox TriggerAnalysis 的内容

图 291. HierarchicalBox TriggerAnalysis 的内容


在此盒子 CameraLink_LVAL_FVAL 中定义了 LVAL 和 FVAL 信号。 在每个图像行和每个帧的开头和结尾处,会分别通过算子 LineStartToSignal/ LineEndToSignal 和 FrameStartToSignal/FrameEndToSignal 生成信号。算子 RsFlipFlop 将相应的开始/停止信号组合为 LVAL 和 FVAL 信号,用户可将这些信号作为事件进行监视。这些事件在 HierarchicalBox CameraLink_Events 中通过算子 EventToHost 进行定义。在盒子 CameraLink_LVAl_FVAL_GPO 中,LVAL 和 FVAL 信号被分配给 PinID 为 1 的 GPO 和正面 GPO。 LVAL 和 FVAL 的开始和停止脉冲的统计信息在 HierarchicalBox CameraLink_InputStatistics 中定义。您可以在图 292 中查看此盒子的内容。

HierarchicalBox CameraLink_InputStatistics 的内容

图 292. HierarchicalBox CameraLink_InputStatistics 的内容


此处使用算子 PulseCounter 对脉冲数进行计数。用户可以通过算子 GetStatus_ReadPulses 监视此数值。 LVAL 或 FVAL 开始或停止脉冲之间的周期由算子 SignalToPeriod 定义。 用户可以通过算子 GetStatus_ReadPeriod 监视此值,并通过 GetStatus_ReadMax 和 GetStatus_ReadMin 监视其最大值和最小值。 除了监视 Camera Link 信号的统计信息外,用户还可以观察触发信号的统计信息。 可以使用触发 Generator、SoftwareTrigger 或通过 GPI 的外部触发源生成触发信号,这些可以在 GPI_InputSelect 中进行选择。 用户可以监视 GPI 输入事件和输入状态(参见盒子 GPI_InputEvents 和 GPI_InputStatus)。 触发信号应用于 HierarchicalBox TriggerOutput 中的相机控制和 GPO。用户可以按照 HierarchicalBox Trigger_Statistics 中的定义监视触发信号的统计信息。您可以在图 293 中查看其内容。

HierarchicalBox Trigger_Statistics 的内容

图 293. HierarchicalBox Trigger_Statistics 的内容


此处定义了触发信号宽度(参见 SignalToWidth 算子 SignalWidth)。用户可以通过 GetStatus 算子 ReadSignalWidth 观察此值。使用 PulseCounter 对触发上升沿脉冲数进行计数。 用户可以通过 GetStatus 算子 ReadPulses 查看此数值。触发上升沿脉冲之间的周期及其最大值和最小值也是如此(参见 GetStatus 算子 ReadPeriod、ReadMax、ReadMin)。回到图 291。在 HierarchicalBox DelayAnalysis 中,将对 CameraLink 信号与触发信号进行比较。 您可以在图 294 中查看 DelayAnalysis 的内容。

HierarchicalBox DelayAnalysis 的内容

图 294. HierarchicalBox DelayAnalysis 的内容


此处测量 LVAL 或 FVAL 开始或停止信号与触发上升沿之间的延迟。用户可以通过 GetStatus 算子访问此值。 同时还会测量两个信号之间的脉冲数差。如果用户观察到 ReadDifferenceCount 的值大于 1,则说明已发送触发信号但相机未响应。 如果该值小于 1,则说明相机发送的帧数或行数多于输入的触发脉冲数。 除触发和 Camera Link 信号分析外,“TriggerAndImageStatistics.va”中的图像数据流分析也在 HierarchicalBox ImageAnalysis 中实现 (参见图 290)。您可以在图 295 中查看其内容。

HierarchicalBox ImageAnalysis 的内容

图 295. HierarchicalBox ImageAnalysis 的内容


通过 ImageAnalyzer 算子,您可以分析上一帧的图像 Property 以及当前帧的中间值。 这些 Property 包括图像尺寸、行长偏差和行时间差。该算子还会为您提供 有关算子输入阻塞状态的信息。 ImageStatistics 算子可对完整的图像序列进行分析。系统会测量图像尺寸、行间隙等方面的偏差。 StreamAnalyzer 算子可向您提供有关数据流和阻塞条件的信息。在分析过程中,图像数据不会被修改。