轮廓过滤和排序
在颜色阈值处理之后,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轴)。