zoukankan      html  css  js  c++  java
  • 计算机立体视觉之-相机针孔模型

      相机模型是将三维世界中的物体投影到二维相机平面中。常见的相机模型有针孔模型(pinhole model)和全景模型(omni-directional model,即通常称为鱼眼相机的模型)。针孔模型是光学相机模型中最常见的模型,也是最简单的一种。针孔模型一般使用在CCD相机中,但其他成像图片也可以使用此模型,比如医用X光图片。虽然相机一般都不是理想的针孔模型,但在立体视觉处理中,一般将其抽象为针孔模型,并在相机标定时,加入畸变参数。针孔模型的标定是经典的计算机视觉问题,有着广泛的研究,网上的资料也必将多,这里不再赘述。

    基本针孔模型

      在欧式空间中,针孔模型由三维世界投影在相机平面中。针孔模型将空间三维点 X = (X, Y, Z)T投影到像平面上。按照图像的习惯,一般从左到右为 $x$ 轴的正方向,从上到下为 $y$ 轴的正方向。故方面起见,对应的世界坐标系同图像保持一致。为了方便同空间坐标区分,图像坐标一般用 $x = (u, v)$表示。

      经过远点与图像垂直的轴称为Principle Axis,为相机坐标系下的Z轴方向。如图1所示。

      

    图1. 针孔模型的空间抽象

      根据相似三角形原理,可以很容易获空间点X得其对应关系,即X = (X, Y, Z)T投影到 $(fX/Z, fY/Z, f)^T$。所以

    $$ (u, v) = (fX/Z, fY/Z) $$

      用齐次坐标来表示则有如下转换关系

    $$egin{pmatrix} X \ Y \ X \ 1 end{pmatrix} ightarrow egin{pmatrix} fX \ fY \ Z end{pmatrix} =egin{bmatrix} f & & & 0 \ & f & & 0 \ & & 1 & 0 end{bmatrix}egin{pmatrix} X \ Y \ X \ 1 end{pmatrix}$$

      其中x表示齐次坐标系下的图像点,X表示齐次坐标系下的空间点。上面公式可以写成 x = PX

    摄像机内参

      

    $$ egin{bmatrix} f_{x} & & c_{x} \ & f_{y} & c_{y} \ & & 1 end{bmatrix} $$

  • 相关阅读:
    10个值得我们关注的python博客
    Python获取并修改hosts
    详解python2 和 python3的区别
    Python监控网站运行状况
    用Flask实现视频数据流传输
    Python框架 Flask 项目实战教程
    使用Flask设计带认证token的RESTful API接口[翻译]
    使用python的Flask实现一个RESTful API服务器端[翻译]
    使用单用户模式破解Linux密码
    Linux软件的安装与卸载
  • 原文地址:https://www.cnblogs.com/zjulion/p/9118557.html
Copyright © 2011-2022 走看看