OpenCV从T形体获取360度旋转
OpenCV Get 360 degree rotaion from T shaped body
我是这个论坛的新手,希望您能耐心等待。
我即将编写我自己的视觉系统,该系统将仅跟踪一种特征(引脚),总是,并且 运行 在涉及到我检测到的物体的方向时遇到麻烦。
我确实从特征向量中得到了方向,但只在 +-90 度的范围内。见下文。
http://i.stack.imgur.com/KHx1h.jpg
如果有帮助,我正在使用 OpenCV 2.4.9 和 visual studio 2012。
我使用 findContours 函数获取 X 和 Y。
PCA 分析以获得方向 (theta)。
我尝试过其他星座(SIFT、SURF、模板匹配),但这种方法似乎给出了最好的结果。
这真的只是一个布尔运算符的问题,如果我得到一个信号,我可以手动翻转方向。
用于跟踪的二值图像如下图,请问有什么方法可以提取图片中的"hat"特征作为信号吗?
http://i.stack.imgur.com/9y4XX.jpg
BR
乔纳斯
您可能需要在找到轮廓之前应用某种阈值。因为您拥有的轴是数据点方差最大的轴。我建议应用带有微调参数的 Canny。
进一步参考..
我通过模板匹配解决了它,我知道这是作弊。
模板以 PCA 分析计算出的角度旋转(wrapped/afflined 以其中心为中心),然后将匹配值存储在临时变量中。我用相同的模板进行了另一场比赛,但旋转了 180 度并比较了匹配值。
作为参考,模板图片必须根据相机旋转进行角度校准(我通过滑块进行)。它是一个静态值,仅取决于模板创建时的旋转。换句话说...
Wrapaffline_angle = Calibrated_angle + PCA 角度。
过程图如下:
http://i.stack.imgur.com/r6RD8.jpg
Calibration_angle的目的是最大化两个匹配之间的差异。
我是这个论坛的新手,希望您能耐心等待。 我即将编写我自己的视觉系统,该系统将仅跟踪一种特征(引脚),总是,并且 运行 在涉及到我检测到的物体的方向时遇到麻烦。 我确实从特征向量中得到了方向,但只在 +-90 度的范围内。见下文。
http://i.stack.imgur.com/KHx1h.jpg
如果有帮助,我正在使用 OpenCV 2.4.9 和 visual studio 2012。
我使用 findContours 函数获取 X 和 Y。 PCA 分析以获得方向 (theta)。 我尝试过其他星座(SIFT、SURF、模板匹配),但这种方法似乎给出了最好的结果。
这真的只是一个布尔运算符的问题,如果我得到一个信号,我可以手动翻转方向。
用于跟踪的二值图像如下图,请问有什么方法可以提取图片中的"hat"特征作为信号吗?
http://i.stack.imgur.com/9y4XX.jpg
BR
乔纳斯
您可能需要在找到轮廓之前应用某种阈值。因为您拥有的轴是数据点方差最大的轴。我建议应用带有微调参数的 Canny。
进一步参考..
我通过模板匹配解决了它,我知道这是作弊。
模板以 PCA 分析计算出的角度旋转(wrapped/afflined 以其中心为中心),然后将匹配值存储在临时变量中。我用相同的模板进行了另一场比赛,但旋转了 180 度并比较了匹配值。
作为参考,模板图片必须根据相机旋转进行角度校准(我通过滑块进行)。它是一个静态值,仅取决于模板创建时的旋转。换句话说...
Wrapaffline_angle = Calibrated_angle + PCA 角度。
过程图如下:
http://i.stack.imgur.com/r6RD8.jpg
Calibration_angle的目的是最大化两个匹配之间的差异。