13.1.13. 阈值编辑器

使用 find_blobs() 进行颜色跟踪的成败完全取决于它的阈值元组——决定哪些像素算作目标的六个 LAB 数值(或两个灰度数值)。位于 Tools → Machine Vision → Threshold Editor 下的阈值编辑器,将寻找这些数值的工作从猜测变成了可视化调节:拖动滑块,观察哪些像素被点亮,在目标呈纯白而其他一切呈黑色时把元组复制出来。

阈值编辑器正在调节一个 LAB 阈值:左侧是源图像,右侧是目标为白色的二值预览,下方是六个 LAB 滑块,输出字段中显示阈值元组

调节过程中的阈值编辑器:右侧的二值预览显示了底部的阈值元组当前所跟踪的内容。

编辑器可针对实时帧缓冲区或磁盘上的图像文件打开。它会并排显示源图像和二值预览——预览中的白色像素就是当前阈值所跟踪的像素——下方每个通道都有一个最小值和最大值滑块。用选择器选择灰度或 LAB,拖动滑块直到二值预览将目标分离出来,然后把阈值元组从输出字段复制到你的脚本中。Invert 复选框会翻转选择,Reset Sliders 则从完全打开的状态重新开始。

实际操作步骤:在真实光照下将摄像头对准真实场景,运行一个脚本使帧缓冲区保存一帧有代表性的画面,在帧缓冲区上打开编辑器,然后依次收窄每个通道——对于彩色目标通常先调 A 和 B,最后调 L 且尽量放宽,因为光照对 L 的影响远大于对 A 和 B 的影响。

13.1.13.1. 就地编辑元组

编辑器也与脚本编辑器联动。在脚本中选中一个现有的阈值元组——(30, 100, 15, 127, 15, 127) 或一对灰度数值——右键单击它,然后从上下文菜单中选择阈值编辑器条目。编辑器会预加载这些数值打开,当你单击 OK 时,会把调整后的数值写回覆盖所选内容(单击 Cancel 则丢弃它们)。用这种方式为新光照重新调节已部署的脚本是一项很快的工作。