我有一个关于坐标变换(或者可能是配准,不确定正确的术语是什么)的问题。 我的设置有两个自上而下的摄像机:摄像机 A 和摄像机 B。 两个摄像头位于同一空间,但之间有一定距离,因此它们的视场不重叠。装置上有一张桌子,上面有一个物体,桌子连接到电机上。当桌子位于相机A下方时,可以看到桌子和物体的全景,相机B具有高倍物镜,可以看到物体本身的特征。 我已经校准了相机 A 以校正鱼眼失真,因此我有了它的内在参数。
我的目标是单击相机 A 中的一个点,用它检索像素坐标,并让电机移动,以便同一点位于相机 B 下方的中心。我正在努力解决如何从相机映射坐标A 到相机 B。不涉及旋转;仅在 XY 方向进行平移。现在先别关心Z。
我真的不知道如何继续。我想我需要通过将点乘以相机矩阵的逆矩阵来将像素坐标从相机 A 转换为世界坐标,但随后我有点卡住了。任何方向将不胜感激。我对相机 A 使用 OpenCV。 该物体是平面的。
谢谢。
这个设置让我很困惑。因此,您有 2 个摄像机向下指向不同的位置,表格覆盖了摄像机 A 的视场,当您单击某个点时,表格就会运行到摄像机 B 并显示该点到摄像机 B 的更低视野,对吗?如果是这种情况,您所需要做的就是将两个相机的像素坐标映射到世界坐标。摄像机 B 的视场很窄,因此可能只需将该视场的中心点映射到世界坐标,或者更好的是,使用一些胶带在地面上标记该点,然后使用标尺计算出其世界坐标。现在您可以通过逆变换获得工作台上的点的世界坐标,计算两点之间的偏移量,并控制电机将工作台从起点移动到终点。