我想跟踪一组图像中的颜色。 出于这个原因,我使用了中提到的恒定阈值算法 Introduction to Autonomous Mobile Robots。此方法只是标记所有那些在最小和最大阈值为红色,绿色,蓝色(或色调,饱和度,在我的情况下为值)中的像素。
我的问题是 - 尽管HSV对光线条件的变化不太敏感 - 我仍然希望从程序中设置阈值,以最大限度地减少误报和漏报的数量。换句话说,算法将确保最终只标记给定的一组像素,例如校准图像上的矩形。
我知道问题是在6维参数空间中进行搜索,我可以提出可能的解决方案,但我正在寻找其他程序员对此主题的看法和经验。
如果重要,我尝试使用OpenCV在C ++中实现它。
答案 0 :(得分:2)
据我所知,问题您正在寻找从包含跟踪标记的校准图像校准6个阈值(每个HSV通道的最小值和最大值)的程序。要做到这一点,我会:
不使用直方图的最小值和最大值,而是使用0.05和0.95百分位数来帮助测量对噪声更有效。
修改强>
第二步的修改: 如果要最小化错误,可以建立标记的 normilzed 直方图和环境的标准化直方图(这可以是2个单独的图像)并减去后者从第一个。得到的标记直方图将具有衰减的背景像素值。这将影响上述百分位数的值。