在平面上重建3d从2d投影与飞机的相机校准参数

时间:2014-10-06 06:30:30

标签: matlab computer-vision camera-calibration 3d-reconstruction pose-estimation

尝试使用相机校准工具箱中的外部和内部相机参数来重建相机图片中2D像素坐标的平面点的3D坐标。

内在参数焦距:fc = [1017.21523 1012.54901] 主要点:cc = [319.50000 239.50000]

外在参数翻译矢量:Tc_ext = [4.409693 -74.116018 393.057934] 旋转矩阵:Rc_ext = [-0.083632 0.991715 -0.097501                                0.832136 0.015674 -0.554350                                -0.548230 -0.127495 -0.826553]

有人可以帮助如何从摄影机图像中获取2d的平面点坐标吗?

1 个答案:

答案 0 :(得分:1)

有4种情况需要考虑,以增加复杂性。基本目标是在太空中定位感兴趣的平面。拥有它之后,您可以将它与背投影像素的光线相交,从而获得解决方案。

  1. 感兴趣的平面包含棋盘目标,图像是您用来校准相机的图像之一。然后是外在参数[R | T]对于校准例程返回的图像包含答案,因为目标是该图像返回的世界到相机坐标变换的XY平面,世界原点是其中一个角(您可以看到哪个角通过将点(0,0,0)投影到图像坐标中.XY平面(在摄像机坐标系中)是由旋转矩阵R的前两列跨越的平面,其原点在点T处。
  2. 感兴趣的平面包含棋盘目标,但其图像不是用于校准的图像之一。您可以将它添加到集合中,重新校准并转到1.但是更快的替代方法是(a)像校准一样提取角点,(b)从它们的图像位置计算单应性H到它们的&# 34;真" Z = 0时物理目标上的位置; (c)将H分解为K * [R | T]使用校准中的已知K(使用称为&#34的算法; RQ分解"为此目的,查找它)。然后转到1。
  3. 校准目标不在图像中,但是您可以在图像中识别该平面上的至少4个点,使得它们中没有3个是共线的并且它们相对于彼此处于已知位置。例如,您在图像中看到一个已知边的矩形。然后,就像第2点一样,您可以计算这些物理点与其图像之间的单应性,并在知道相机矩阵的情况下提取[R | T]变换。然后转到1。
  4. 以上都不是:抱歉,你被困住了。