跳到主要内容

轮廓过滤和排序

在颜色阈值处理后,Limelight会生成一个轮廓列表。之后,每个轮廓都会被包裹在最紧密的边界矩形、"未旋转"矩形和"凸包"中。这些会通过一系列过滤器来确定"最佳"轮廓。如果多个轮廓通过所有过滤器,Limelight会使用"排序模式"控制来选择最佳轮廓。

排序模式

控制轮廓在通过所有其他过滤器后如何排序。

在2019年,添加了"最近"排序模式。此模式将选择距离可配置准星最近的目标。

目标面积

控制可接受的边界矩形面积范围,以屏幕百分比表示。你可以增加最小面积来帮助过滤掉场馆灯光,并降低最大值来帮助过滤掉场地附近的大型显示屏等。

面积滑块不是线性缩放的,而是四次方缩放的。这样做是为了在较低面积值范围内提供额外的精度,因为许多FRC目标都在这个范围内。正方形的面积随边长呈二次方缩放,但x^4缩放在需要的地方提供了更大的精度。

目标充实度

充实度是选定轮廓的边界矩形中"开启"像素的百分比。实心矩形目标的充实度接近1.0,而U形目标的充实度较低。

目标宽高比

宽高比由选定轮廓的边界矩形的宽度除以其高度定义。低宽高比描述"高"矩形,而高宽高比描述"宽"矩形。

宽高比滑块也是二次方缩放的。

方向过滤器

基于轮廓的方向拒绝轮廓。

智能斑点剔除

剔除通过所有其他过滤器的相对较小(而不是用面积过滤器绝对较小)的轮廓。当目标必须在近距离和远距离都可跟踪时,这是必需的。 这个功能在2019赛季引入,用于在机器人非常接近目标时剔除Limelight的LED反射。

目标分组

控制目标"分组"。设置为双目标模式以寻找由两个形状组成的"目标",或三目标模式以寻找由三个形状组成的目标。

智能目标分组可以对可变数量的目标进行分组并剔除异常值。它在2022年添加,用于帮助跟踪上枢纽目标。

交叉过滤器(仅双目标)

基于轮廓如果延伸到无限远时的交叉情况来拒绝轮廓组。

智能目标分组

自动对通过所有单个目标过滤器的目标进行分组。

  • 将动态分组任何数量在-组大小滑块最小值-和-组大小滑块最大值-之间的目标

异常值剔除

  • 虽然组目标比普通目标更具挑战性,但它们提供了更多的信息和过滤机会。如果你知道一个目标由多个彼此接近的目标组成,你实际上可以剔除单独存在的异常目标。
  • 你应该几乎完全依赖良好的目标过滤,只在看到或预期相机流中出现虚假异常值时使用异常值剔除。如果你的标准目标过滤效果不佳,异常值检测可能会开始对你不利!

输出

此选项卡控制视觉管道最后阶段的操作

目标区域

控制所选轮廓边界矩形的兴趣点。默认情况下,跟踪参数tx和ty表示从准星到所选矩形中心的偏移。如果目标大小发生变化,或由有时会混合在一起的两个目标组成,你可以使用其他选项。

发送原始角点?

将此控制设置为"是"以在JSON、NetworkTables和API结果中包含角点位置。通过调整"轮廓过滤"页面中的"轮廓简化"值来调整提交的角点数量。

通过NT发送JSON?

将此控制设置为"是"以通过NetworkTables提交JSON。

准星校准

控制你的目标值的"原点"。假设你的机器人上的发射器需要校准,使其始终指向略偏左的中心。你可以对齐你的机器人,点击"校准",所有的目标值都将相对于你的新准星发送。有关更多详细信息,请参见校准页面!

3D

在此处试验基于PnP点的姿态估计。

计算3D

控制是否启用姿态估计。你必须启用960x720高分辨率模式才能使用此功能。

强制凸包

使用此选项仅为SolvePnP选择目标的"最外"角点。

轮廓简化

使用此选项从目标中移除小的、噪声边缘。

可接受误差

Limelight只会在目标通过具有特定像素分数的重投影测试时返回目标。

目标Z轴偏移

自动设置目标的3D深度值(Z轴)。