线扫描采集原理
典型线扫描成像系统
表达式“行扫描成像”指定机器视觉应用,其中二维图像是由(从相对移动到对象的一维成像设备捕获的)连续图像行组合获得的。
在行扫描成像中:
| ● | 成像设备通常(但非必须)是行扫描照相机。 |
| ● | 被检查的对象通常是一个连续的网络,它也可以是具有固定或可变大小的离散对象。 |
| ● | 被检查的网络相对于相机移动。采集过程中的运动速度可以是固定的或可变的。 |
| □ | 跨网方向或横方向是相机观察到的网平面上的轴。 |
| □ | 下网方向或轴向是被检网相对于相机的运动方向。 |
扫描区域定义
扫描区域是Web上的二维区域,其宽度等于FOV,长度等于扫描长度。
在横网方向(上图中的水平方向),扫描区域由相机的视场(FOV)分隔。
在下网方向(上图中的垂直方向),扫描区域由“扫描开始”和“扫描结束”位置分隔。线间距由网速与相机线速之比决定。
线扫描相机的 视场 – FOV ,仅由光学装置和传感器几何特性决定。
开始扫描位置,是对应于第一采集行之前的扫描行边界的Web上的位置。
扫描结束位置,是对应于最后一条采集线之后的扫描线边界的Web上的位置。
大多数行扫描相机,在每个相机循环提供一行像素。因此,需要多个相机循环来构建对象图像。
与区域扫描成像不同,行扫描成像允许应用程序控制图像像素纵横比。
在大多数情况下,成像应用程序需要一个常量,最好是1:1图像像素纵横比。
跨Web节距由传感器节距和光学放大系数锁定,图像像素纵横比仅通过线节距控制来控制。
下表总结了提供适用于Coaxlink的恒定线间距的方法:
| 方法名称 | 描述 |
|---|---|
| VCR |
可变相机循环。 网络速度是可变以及相机循环速率与网络速度成比例。 帧捕获器通过捕捉相机传送的所有连续的线来构建目标图像。 |
| CCC |
恒定的相机循环。 相机以恒定的循环速率运行,帧捕获器捕获相机传送的所有连续行。 |
VCR方法要求:
| ● | 用于测量网速的运动编码器。 |
| ● | 运动编码器事件的实时处理,以与运动编码器事件速率成比例的速率建立相机触发。 |
成比例的速率,可以通过除法器工具或乘法器/除法器工具实现:
| ● | 除法器工具以整数值抽取输入速率,它提供N个输入事件中的1个。 |
| ● | 乘法器/除法器工具允许任何速率转换比值( RCR )在0.001至1000范围内,精度优于RCR值的0.1 %,从而实现对图像像素纵横比的精细控制。 |
大小物体的图像捕捉
对于CoaXPress链接上的传输,(大多数)行扫描相机使用一个CoaXPress图像数据流。
关于图像数据的传送方法,应考虑两种情况:
| ● | 对于小对象,对象图像数据被传送到单个GenTL缓冲区。 |
| ● | 对于大对象,对象图像数据被传递到多个GenTL 缓冲区中。 |
在这两种情况下,图像数据都是通过单个PCIe DMA通道传输的,并且通过Coaxlink 传输的延迟很低:一条图像线。
在行扫描成像中,按照以下规则填充GenTL缓冲区:
| ● | 在默认情况下,扫描的第一个采集的行数据,存储在新缓冲器的开头。通过将 StripeArrangement 设置为 Geometry_1X_1YE来启用垂直图像翻转时,扫描第一次所采集的行数据,存储在新缓冲区的最后一整行的位置。 |
| ● | 缓冲区包含整数个图像行数据。 |
| ● | 当缓冲区的剩余空间不足以存储图像行数据时,采集继续进入新的缓冲区,填充的缓冲区可供应用程序处理。 |
| ● | 当获取扫描的最后一行数据时,可能部分填充的最后一个缓冲区,可供应用程序处理。 |
