我有一个履带式机器人玩具,我用 iPhone 控制它。机器人输出已知帧大小的实时摄像头馈送,我将其显示在 UIImage 上。
我为机器人添加了一个激光指示器,并将其固定在机器人的轴旁边。我正在尝试检测图像上的激光指针点,从而尝试计算物体的接近度。如果激光点远离中心,我知道机器人被卡在墙上,需要倒退。
如何在屏幕上检测一个亮白红色像素点?一种解决方案是对中心某个半径范围内的像素颜色进行采样,并检测一团明亮的颜色。任何人都可以为此活动建议一个算法吗?
另一种方法是在最后几帧中跟踪点的平均位置,从而减少估计半径。如果预定义区域内没有点,则可以扩展搜索区域。
最后,我希望能够教机器人检测周围的地毯。地毯以某种方式反射激光笔,我想了解机器人周围有多少框架具有相似的属性。如果我知道激光笔在屏幕上的位置,我可以从该图像中剪下一个小矩形并将它们相互比较。是否有一种有效的方法可以将多个小图像相互比较以了解它们的轮廓是否匹配?
我注意到激光从光滑的表面反射回来,根据折射定律,这种反射的方向可能会告诉我一些关于表面在空间中的方向的信息。
谢谢!