OpenCV从T形主体获得360度旋转



我是这个论坛的新手,希望你对我有耐心。我即将编写我自己的视觉系统,它将始终只跟踪一种特征(引脚),当涉及到我被检测到的身体的方向时,就会遇到麻烦。我确实从特征向量中得到了方向,但只在+-90度的范围内。请参见下文。

https://i.stack.imgur.com/KHx1h.jpg

如果有帮助的话,我会使用OpenCV 2.4.9和visual studio 2012。

我使用findContours函数来获得X和Y。PCA分析以获得方向(θ)。我尝试过其他星座(SIFT、SURF、模板匹配),但这种方法似乎能给出最好的结果。

这只是一个布尔运算符的问题,真的,如果我得到一个信号,我可以手动翻转方向

下面是用于跟踪的二进制图像,有什么方法可以提取图片中的"帽子"特征并将其用作信号吗?

https://i.stack.imgur.com/9y4XX.jpg

BR

乔纳斯

在查找轮廓之前,您可能需要应用某种阈值。因为您所拥有的轴是数据点方差最大的轴。我建议使用微调参数的canny。

供进一步参考
我通过模板匹配解决了这个问题,我知道这是作弊
模板按照PCA分析计算的角度旋转(由其中心包裹/包围),然后将匹配值存储在临时变量中。我用同样的手板做了另一个匹配,但旋转了180度,并比较了匹配值
作为参考,模板图片必须相对于相机旋转进行角度校准(我通过滑块进行校准)。它是一个静态值,仅取决于创建模板时模板的旋转。换句话说
Wrapaffline_angle=校准角度+PCA角度
流程图片如下所示:
https://i.stack.imgur.com/r6RD8.jpg

Calibration_angle旨在最大限度地提高两场比赛之间的差异。

最新更新