如何获得图像的世界坐标

问题描述 投票:1回答:3

[使用Jean- Yves Bouget的Camera Calibration Toolbox和印在纸板上的棋盘格图案对相机进行校准之后,我获得了外部参数和固有参数,我可以使用这些信息来查找相机坐标:Pc = R * Pw + T

[之后,如何使用Pc和校准参数获取图像的世界坐标?预先感谢。

编辑

目标是使用已校准的摄像机参数来通过已校准的摄像机测量平面对象。要执行此任务,我不知道使用相机参数。换句话说,我必须使用校准后的参数将图像的像素坐标转换为世界坐标。我已经有了参数和新图像。我该如何转换?预先感谢。

image-processing computer-vision matlab camera-calibration
3个回答
1
投票

我正在思考问题,并得出结果:

您无法查找对象大小。问题是单发拍摄,当您不知道物体离相机有多远时,您无法说出物体的大小。校准只是说图像平面距离相机多远(焦距)和镜头的张开角度。当焦距改变时,校准度也改变。

但是有一些可能性:

How to get the real life size of an object from an image, when not knowing the distance between object and the camera?

所以,根据我的理解,您可以估算出对象的大小。


0
投票

只要(且仅当)您可以用校准的相机坐标表示物体的平面时,您的问题才能解决。

[校准程序与相机固有参数K一起输出每个校准图像Qwc_i = [Rwc_i | Twc_i]矩阵的坐标变换矩阵,该矩阵表示特定场景坐标系在该位置处的相机坐标的位置和姿态校准图像。 IIRC,在Jean-Yves工具箱中,这是连接到校准棋盘左上角的框架。

因此,如果在一个校准图像中您的平面对象与棋盘位于同一平面上,为了找到其在空间中的位置,您要做的所有事情就是将棋盘平面与从相机中心投射的相机射线相交( 0,0,0)到将对象成像的像素。

如果您的对象不在这些平面之一中,您可以做的就是从其他信息(如果有)中推断出对象自己的平面,例如来自已知大小和形状的特征。


0
投票

我遇到了完全相同的问题,并且我一直在尝试不同的示例以弄清楚如何解决该问题,但我不能。我的问题类似,我想将像素坐标转换/转换为世界坐标(以毫米为单位),并且相机点与对象之间的距离也是已知的。

我已经尝试了一些MATLAB示例,还找到了诸如旋转和变换矩阵之类的内在参数,但是之后,我不知道如何进行操作。

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.