Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 如何获取图像的世界坐标_Image Processing_Computer Vision_Matlab_Camera Calibration - Fatal编程技术网

Image processing 如何获取图像的世界坐标

Image processing 如何获取图像的世界坐标,image-processing,computer-vision,matlab,camera-calibration,Image Processing,Computer Vision,Matlab,Camera Calibration,在使用Jean-Yves Bouget的相机校准工具箱和印刷在纸板上的棋盘格图案校准相机后,我获得了外部和内部参数,我可以使用这些信息找到相机坐标: Pc=R*Pw+T 之后,如何使用Pc和校准参数获取图像的世界坐标? 提前谢谢 编辑 目标是使用校准的相机参数来测量平面对象(使用校准的相机)。要执行此任务,我不知道如何使用相机参数。换句话说,我必须使用校准参数将图像的像素坐标转换为世界坐标。我已经有了参数和新图像。我怎样才能转换? 提前谢谢。我在考虑这个问题,结果是: 无法找到对象大小。问题是单

在使用Jean-Yves Bouget的相机校准工具箱和印刷在纸板上的棋盘格图案校准相机后,我获得了外部和内部参数,我可以使用这些信息找到相机坐标: Pc=R*Pw+T

之后,如何使用Pc和校准参数获取图像的世界坐标? 提前谢谢

编辑

目标是使用校准的相机参数来测量平面对象(使用校准的相机)。要执行此任务,我不知道如何使用相机参数。换句话说,我必须使用校准参数将图像的像素坐标转换为世界坐标。我已经有了参数和新图像。我怎样才能转换?
提前谢谢。

我在考虑这个问题,结果是:

无法找到对象大小。问题是单次拍摄,当你不知道物体离你的相机有多远时,你就不能说出物体的大小。校准只说明图像平面离相机有多远(焦距)以及透镜的开启角度。当焦距改变时,焦距也随之改变

但也有一些可能性:


因此,我如何理解你可以近似物体的大小。

如果(并且仅当)你可以用校准的摄像机坐标表示物体的平面,你的问题就可以解决

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

因此,如果平面对象与其中一幅校准图像中的棋盘格位于同一平面上,则要找到其在空间中的位置,所需做的就是将棋盘格平面与摄影机光线相交,摄影机光线从摄影机中心(0,0,0)投射到对象成像的像素


如果您的对象不在其中一个平面上,您所能做的就是根据其他信息推断对象自己的平面(如果可用),例如根据已知大小和形状的特征。

谢谢您的回答。实际上我知道我的物体和相机之间的距离。照相机固定在飞机上。这个实验背后的想法是验证摄像机校准是否正确,对图像中的物体进行测量,并与同一物体的手工测量进行比较。这就是我需要从图像的像素坐标获得世界坐标的主要原因。我想知道matlab中是否有数学方法可以做到这一点?