OpenCV相机校准(计算[R| T])用线代替点

xe55xuns  于 2023-05-29  发布在  其他
关注(0)|答案(1)|浏览(155)

我在一个足球(足球)机器人与本教程。我的机器有2个摄像头,而地面Map有6个点可识别的目标前面。
x1c 0d1x我在做什么:
1.拍摄照片并获得内在参数(焦距、失真);
1.移动时,找到点并使用solvePnP获取[R| T];
1.使用projectPoints获取其真实的坐标。
正如我所尝试的,(在棋盘的6*9内角)10点工作正常,但只有5我得到了非常糟糕的结果(甚至没有考虑当视力不好或当球阻挡其视野).
我在考虑预先设定好的[R]|(一个良好的视野),在移动的时候,利用它的旧[R]。|T](作为初始近似值)以帮助获得更好的[R]|但过了一段时间,作为[R]| T]变得不太准确,我不太可能得到近似值。价值。
另一个解决方案是,尝试使用这些线来生成[R|例如,在检测到线的一组点之后,将其与x=0或y=0…并使用它们来计算[R|这可能会产生更好的结果。有办法做到这一点吗?
还是我搞错了?任何想法或帮助都是赞赏!

mm5n2pyu

mm5n2pyu1#

我想贡献一下,但我有一些关于设置的问题:

  • (i.)* 我假设相机固定在机器人上。然后,[R]| t]相对于字段(参考)而改变。您是否在实地跟踪上述要点(特征)?在这种情况下,当机器人在场地周围移动时,它们的旋转和平移改变。
  • (ii)* 是否检查了Hartley's paper校准线对应?这可能会给予你的第二个建议的想法。

现在,假设我在项目 i. 上做的假设,首先尝试独立地对每个相机进行相机校准,以获得透镜和切向失真参数。在从运动重新校准时,您希望将其固定。使用线似乎更可行,因为它们可能对阻塞具有鲁棒性。

  • 如果您提供更多细节并丰富本次讨论,我可以编辑此答案。*

我想把这作为评论,但我没有足够的信用。

相关问题