您可以在以下章节中找到适用于 mE4VD4-CL/-PoCL 平台的 Camera Link 面阵扫描示例。在小节 ' Camera Link Area Scan Cameras ' 中介绍了面阵扫描相机的示例,在小节 'Camera Link Line Scan Cameras' 中介绍了线阵扫描相机的示例。
面阵扫描相机的基础采集非常简单。您只需选择一个合适的相机 operator。将相机 operator 连接到 ImageBuffer 和 DmaToPC operator。任何处理逻辑都可以放置在中间,最好放在缓冲区之后。
只需将这三个 operator 连接并进行参数化以满足您的要求。如果您使用的位深度不等于 8 或 16,则应考虑将输出位深度更改为这些格式之一。在教程 'Applet Parameterization' 中可以找到关于位深度修改的说明。
该设计包含两个不同进程中的两个相机。您可以在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\DualBaseAreaGray8.va 下找到此示例。查看 'Multiple Processes' 了解有关多进程的更多信息。在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\BaseAreaGray8.va 和 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\BaseAreaGray12.va 下,您还可以访问针对 8 位和 12 位输入位深度的两个基础单采集进程。
RGB 相机的使用与灰度相机类似。同样,可能需要修改输出位深度。您可以在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\DualBaseAreaRGB24.va 下找到以下示例。这是一个包含两个进程的示例,类似于 'Grayscale Camera Link Base Area' 中的示例。RGB 面阵扫描相机的单进程示例位于 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\BaseAreaRGB24.va 下。
Medium 相机的使用类似于 Camera Link base 配置模式下的相机。Camera Link medium 配置相机 operator 允许更高的带宽。
针对 8 位和 12 位输入位深度的示例位于 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\MediumAreaGray8.va 和 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\MediumAreaGray12.va 下。
与其它模式相比,针对 Medium 配置模式下的 RGB Camera Link 相机设计需要进行一些修改。对于 medium 配置模式,最高可以传输 85MPixel/s @ 每像素 36 位(即 382.5MB/s)。采集卡 RAM operator 无法处理如此高的数据速率。因此,无法将单个 ImageBuffer operator 连接到相机模块。从 operator ImageBuffer 的 operator 文档中我们得知,只能将 64 位连接到缓冲区输入。由于我们需要 Parallelism 2 和 36 位,因此我们会得到一个 DRC 错误。解决带宽瓶颈的一个简单方法是并行使用两个缓冲区。一个缓冲区模块用于存储低位 (LSBs),而另一个缓冲区模块用于存储高位 (MSBs)。
您可以在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\MediumAreaRGB36.va 下找到此示例。
对于 microEnable IV 采集卡,与 Medium 或 Base 配置模式下的相机相比,针对 Camera Link Full 配置模式下的相机设计需要进行一些修改。Full 配置模式代表最快的 Camera Link 模式。理论上,最高可传输 850 Mbyte/s。采集卡 RAM operator 无法处理如此高的数据速率。因此,无法将单个 ImageBuffer operator 连接到相机模块。从 operator ImageBuffer 的 operator 文档中我们得知,只能将 64 位连接到缓冲区输入。当我们尝试构建仅包含一个 ImageBuffer 模块的设计时,我们将获得一个 DRC 错误。解决带宽瓶颈的一个简单方法是并行使用两个 buffer operator。一个缓冲区模块用于存储低位 (LSBs),而另一个缓冲区模块用于存储高位 (MSBs)。
10 位 Camera Link Full 相机的使用类似。更改相机模块和 link 中的 Property 为 10 位和 Parallelism 12。SelectBitField 模块现在必须更改为 5 位和 5 位偏移量。请注意,在这种情况下,DMA 输出为 10 位。这是一种打包格式,因为一个字节可以包含多个像素。如果您将输出扩展到 16 位,可能会遇到带宽限制。
您可以在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\FullAreaGray8.va 和 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\AreaScan\FullAreaGray10.va 下找到针对 8 位和 10 位输入位深度的两个基础采集示例。
线扫描相机的采集通常需要将相机行裁剪为特定高度的图像。 具体而言,线扫描相机将逐行传输数据至帧采集卡。 它们不包含关于新图像结束或开始的信息。 从帧采集卡传输至 PC 的数据必须以包(即帧)的形式发送。 因此,必须将线扫描相机的各行组合成特定高度的图像。 有多种方法可用于指定高度。 一种简单的方法是累积特定数量的行以形成图像, 或者由其他动态源(例如外部图像触发门信号)来确定图像高度。 以下 Camera Link 示例配备了 TrgPortLine 算子(参见 'TrgPortLine')。 该算子涵盖了广泛的触发功能,可用作通用触发模块。 除图像触发功能外,它还可用于触发相机。有关线扫描相机数据传输的更多信息,请参阅 'Image Protocols, Image Dimensions and Data Structure'。 以下设计展示了用于基础采集的简单 Camera Link 线扫描 VisualApplets 实现。
下图中的示例(\examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\DualBaseLineGray8.va) 是一个针对 8 bit 输入 Bit Width 的双进程设计。 等效的单进程示例位于 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\BaseLineGray8.va。
以下针对 Camera Link Base configuration 模式下 RGB 相机的双进程采集示例, 与 'Grayscale Camera Link Base Line' 中的灰度示例等效。 您可以在 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\DualBaseLineRGB24.va 下找到它。
有关单进程示例,请参见 \examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\BaseLineRGB24.va。
以下两个示例展示了针对 8 bit(\examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\MediumLineGray8.va) 和 12 bit(\examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\MediumLineGray12.va)输入 Bit Width 的采集设计。
对于 medium 12 bit 相机,如面阵相机示例所示,需要两个缓冲区(参见 'RGB Camera Link Medium Area')。
下图中的示例展示了 Camera Link full configuration 模式下的采集设计,适用于 8 bit (\examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\FullLineGray8.va)和 10 bit(\examples\Acquisition\BasicAcquisition\mE4VD4-CL\LineScan\FullLineGray8.va) 输入 Bit Width。












上一页

