根据颜色移动鼠标

时间:2015-09-14 21:38:35

标签: opencv

我正在使用OpenCV C ++创建一个程序,当它检测到蓝色时,它只是将鼠标移动到蓝色对象的新位置。

我在步骤中所做的是

  1. 从BGR转换为HSV
  2. 使用InRange获取蓝色范围
  3. 查找具有最大区域的轮廓以检测对象
  4. 获取轮廓中最后一个点的位置并使其成为新的鼠标位置,以便在对象移动时,鼠标也会移动。
  5. 这个问题是当我固定物体的位置时,轮廓点会发生变化,因此光标会从+ -10移开,然后返回等等,这样看起来很烦人所以任何人都有解决方案对于这个问题?

1 个答案:

答案 0 :(得分:1)

类似的问题把我带到了这里,所以我尽力帮助它,这是一个古老的问题。如果我理解,问题是当对象不移动时,指针略微移动,因为轮廓没有固定,而是连续改变一点。如果是这种情况你应该采取countour的质心,而不是最后一点,这应该更稳定。