立体成像
使用双摄相机的立体成像包括四个步骤:
- 使用数学方法消除径向和切向透镜畸变,称为去畸变
- 调整摄像机之间的角度和距离,称为标定
- 在左右摄像机视图中找到相同特征,称为匹配,输出视差图,视差是指在左右摄像机观察得到的相同特征在x坐标上的差值
- 如果摄像机的几何排列已知,可以通过三角测量将视差图转化为距离,称为重投影,输出一个等深度图
三角测量
考虑理想模型,一个完美的无畸变,对准,已测量好的系统,假设成像仪完全行排列,使得摄像机的每个像素行与另一个摄像机中的对应行精确的对齐,称之为”摄像机前向平行排列“
由三角形相似得出深度和视差成反比
立体视觉系统只有在物体与摄像机较近时才具有较高的深度分辨率
现实世界中摄像机不会严格前向平行对准,但是可以通过数学方法找到图像投影和畸变图,将左右图像标定为前向平行排列
同步摄像机,在同一时刻捕获图像
对极几何
立体成像的集合基础被称为对极几何
这种几何结合了两个针孔模型和一些有趣的点,被称为极点
在某一图像平面上的极点定义为该平面上另一个摄像机投影中心的图像
在一个成像仪上看到的所有可能位置的点都是穿过另一个成像仪的极点和对应点的直线图像
极线约束:给定一幅图像中的特征,在另一图像中的匹配视图一定位于对应极线上
极线约束意味着一旦知道立体设备之间的对极几何,在两幅图像间匹配特征的二位搜索可以转变为沿着极线的一维搜索
本征矩阵和基本矩阵
本征矩阵E包含关于物理空间中两个摄像机的平移和旋转的信息
基本矩阵F包含两个相机的内参数,可以在像素坐标系将两台摄像机关联
本征矩阵E是一个纯几何的,与成像仪无关,他将左侧摄像机所观察到的点P的物理坐标位置与右侧摄像机所看到的相同的点位置相关联
基本矩阵F将图像坐标系(像素)中一个摄像机的像平面上的点与另一摄像机的像平面上的点关联
E和F都是秩亏矩阵,是秩为2的3x3矩阵
opencv处理方法
cv::findFundamentalMat() 不需要分别校准相机,因为可以直接对F进行处理,其中隐含两个摄像机的基本矩阵
PREVIOUSopencv投影与三维视觉
NEXTopencv投影与三维视觉