边界框方向

时间:2017-09-11 11:23:19

标签: c++ computer-vision point-cloud-library robotics

在分割和过滤过程中,我使用了一个边界框来获取RANSAC和条件异常值去除后对象周围的一对4点。在计算了边界框的8个角点之后,我使用了其中的两个(正面下方)来定位机器人。例如,以下是我想要使用的角点的提取对象的视觉效果

enter image description here

问题是,如果物体是直的,机器人几乎在中间正确移动,但如果物体倾斜,机器人会在右侧或左侧移动更多,具体取决于它倾斜的一侧,例如

enter image description here

分析后,似乎边界框点不完全但在对象上有偏移。在这种情况下有什么用处?

- 在角点添加手动偏移

- 调整分段阈值

- 可以使用这些点的表面法线或角度信息

任何其他可能性

1 个答案:

答案 0 :(得分:1)

我假设当您倾斜对象时,距离您更近的对象角点提供的信息比其他点更精确。如果你可以获取角度信息,找到曲面法线,然后计算你在最初得到的两个点和法线向量之间绘制的矢量或线之间的角度。并尝试根据您获得的结果更改点,在偏移区域中,法线和矢量将相互为90。

例如,你知道法向量,你有两个点(x1,y1),(x2,y2)。在这两个点之间绘制一个矢量,计算该矢量与法线之间的角度。如果角度达到85度。操纵(x2,y2)得到90度。就像你从它的起点拿起一个向量并用它的方向来玩。因为我们假设我们的出发点是准确的。