网上很多资料都写相机标定时,以标定板左上角为原点进行标定,但是关于标定板的世界坐标系的描述比较少,因此我不明白。我原本以为,标定板棋盘格上的世界坐标系应该是真实的世界坐标系,即将整个世界的坐标缩小成一张棋盘格的大小,这样才能算出每个棋盘格的大小到底是占多少真实世界,才能进行后续标定,并算出内参、外参、畸变系数。但又在有些资料上看到说,这个世界坐标系是自己设定的,多大都可以,比如每一个小格子的边长是30mm,那么后续标定就将这30mm作为世界坐标系进行标定,到底应该是怎样的呢?
再者,我后续要实现世界坐标系转换成像素坐标系,然后在图像上画出来。已知某个物体的在真实世界的坐标,然后把这个坐标作为世界坐标系坐标向像素坐标转换,这个转换后的像素坐标记作A0,我理解的情况是,如果经过照相,这个物体在相片中,那么A0是在这张照片像素范围内的,那么就可以把这个物体在相片中位置画出来,若物体不在相片中(即相机没对着这个物体照相),A0是大于照片的像素范围的,这样的理解对吗?
世界坐标转像素坐标跟标定时标定板上世界坐标系的选取有没有关系,跟外参有没有关系?
还有另外一个问题,给你一张照片,相机的内参、外参、畸变系数,已知这个照片中的像素坐标,能不能算出它在这个真实世界的坐标,即世界坐标系坐标?
在相机标定过程中,标定板的世界坐标系的选择确实是一个重要的问题。我将逐个回答你的问题:
关于标定板的世界坐标系:标定板的世界坐标系是一个虚拟的坐标系,用于建立图像中的像素坐标与真实世界坐标之间的映射关系。通常情况下,标定板的世界坐标系可以自己设定,并不需要与真实世界完全对应。常见的方法是将标定板的左上角作为原点,并使用标定板格子的尺寸作为参考,构建一个二维网格坐标系。
世界坐标系转换成像素坐标系:世界坐标系到像素坐标系的转换涉及相机的内参、外参和畸变系数。通过将真实世界坐标系的点通过外参转换到相机坐标系,再通过内参将相机坐标系的点映射到像素坐标系。这样,你可以根据已知的真实世界坐标,计算出它在图像上的像素坐标。如果转换后的像素坐标在图像范围内,则可以在图像上画出物体位置。
世界坐标转换与标定板、外参的关系:世界坐标转换与标定板选择和相机的外参(相机在世界坐标系中的姿态)有关。通过标定板的世界坐标系和对应的像素坐标系,可以计算出相机的内参和外参。外参包括相机在世界坐标系中的位置和姿态信息。这些参数用于将世界坐标系中的点转换到像素坐标系。
已知照片中的像素坐标是否能计算出真实世界坐标:如果你已知照片中的像素坐标、相机的内参、外参和畸变系数,可以通过反向计算推导出这些像素坐标对应的真实世界坐标。这个过程称为逆投影。逆投影将像素坐标通过内参、外参的逆矩阵转换到相机坐标系,再通过相机坐标系的旋转平移信息将其转换到真实世界坐标系中。
需要注意的是,逆投影过程中可能存在误差,特别是在相机畸变较大的情况下。因此,逆投影得到的真实世界坐标仅供参考,可能会有一定的误差。
总之,世界坐标系的选择是自定义的,并不需要与真实世界完全对应。通过相机的内参、外参和畸变系数,可以进行世界坐标到像素坐标的转换,并可以通过已知的像素坐标反向计算出对应的真实世界坐标。