文章
阿尔特龙中的行裁剪、行翻转与自定义 AOI
为什么要处理和保存没人看的像素?在许多安装中,物体只占视场的一部分,或者光线照不到传感器的整个宽度。图像两侧又暗又无用,却承载着同样多的数据。线阵相机的行裁剪和面阵相机的 AOI 正是为解决这一问题而设。

线阵相机上的 Crop Line
在 线阵 USB 相机的 Exposure 选项卡中,您会找到 Crop Line (Remove Dark Margins) 选项。启用后,每行只保留从 Start 到 End 的像素。
重要的是,裁剪并不只是为了显示。它发生在源头,即解析相机数据的地方。因此,行曲线图、图像和保存的文件都确实变小了,处理器和磁盘也能喘口气。
关于数值的几条规则:
- 编号从 1 开始,Start 和 End 本身都包含在保留部分中。
- 如果将 End 设为 0,表示“直到最后一个像素”。
- 裁剪关闭时,这两个字段处于禁用状态。
- 打开行强度曲线图(Line Scope),将物体或明亮表面放在相机前。
- 放大曲线图的明亮部分,从横轴上读取其起始和结束处的像素编号。
- 将这两个数值输入 Start 和 End,然后开启 Crop Line。
另一种方法是在 Advanced Scanner Scope 显示的图像上选择一个垂直条带,Start 字段会自动填写。然后再检查一下 End。
要进行确认,请查看诊断面板中的 Pixels H。裁剪后,该数值应小于传感器的完整宽度。
有时机械条件不允许按您希望的方向安装相机,图像会出现左右镜像。Reverse Line (Flip Sensor 180°) 选项会在源头将每一行水平镜像,即第一个像素与最后一个像素互换位置,就好像传感器旋转了 180 度。由于这发生在源头,所有下游节点都会收到正确的数据。该选项默认关闭。
如果同时开启 Reverse Line 和 Crop Line,二者的顺序是固定的:先翻转行,再裁剪。因此,如果您是在开启 Reverse Line 之前读取的 Start 和 End,请重新检查。
在 面阵相机 的 USB 相机中,相机面板的 Image Data 页面有一个名为 AOI 的区域。借助它,只读取传感器的一个矩形区域。用起始行和列(Start)及尺寸(Size)定义该矩形,然后用 Send Cmd 将其发送到相机。AOI 越小,产生的数据越少,帧率也可能越高。
无需手动计算数值。在图像显示中用鼠标选择区域,AOI 字段会自动填写。
有一个细节需要注意。如果您进行选择的图像已经用 AOI 裁剪过,选区坐标是相对于该裁剪后图像的,而不是相对于整个传感器。+ Last 按钮可解决这个问题:它将上次发送的 AOI 的起点加到这些数值上,使其重新相对于整个传感器正确。要恢复完整图像,请按 Send Reset Cmd。
同一页面上的 Mirror 区域有两个按钮。Vertical 在相机内部将图像上下翻转,Horizontal 则将其左右翻转。每次 Start 时,两者都会重新关闭。
- 裁剪过紧。如果物体在输送带上稍有偏移,其边缘就会落到图像之外。请留出几个像素的余量。
- 在最终设置曝光之前就进行裁剪。正确的顺序是:先设置 Exposure,然后用 Brightness 和 Contrast 设置亮度和对比度,最后再进行 Crop。
- 使用以完整行宽制作的校准文件。数据尺寸改变后,这些文件就不再与新的数据流匹配,必须重新创建。
要进一步了解感兴趣区域(ROI), 维基百科文章(英文).
如果您不确定行裁剪是否足以满足您的工作需要,或者是否需要换用其他传感器, 欢迎与我们交流。