|
本帖最后由 sonwendi 于 2011-12-1 23:50 编辑
看到有同学问这个问题,之前我发过帖子详细讲了桶形失真的解决方法,接下来简单的讲解一下梯形的解决:
我先说一下我这个思路能达到的目的:将图像中黑线的坐标转换到实际的距离坐标,比如采集的图像中某一行黑线位置在3/4处,通过计算可以算出距离坐标原点(摄像头正下方处)Y=20CM,X=80CM,然后可以用算法优化路径。
图像采集中需要将3-D客观场景投影到2-D像平面。这个投影可用几何透视变换(也称为成像变换)描述(Fu,1987)。下图给出一个成像过程的几何模型示意图:
在图1里,设世界坐标系与摄像机坐标系重合,像平面坐标系x’y’与摄像机坐标系的xy平面重合(以下用xy表示x’y’),光轴与z轴重合。像平面中心位于原点处,镜头中心坐标(0,0, λ), λ是镜头的焦距。
设(X,Y,Z)是3-D空间中任意点W的世界坐标。由相似三角形可得:
则可得到空间3-D点投影后的像平面坐标:
这些等式是非线性的,因为其中含有变量Z。下面借助齐次坐标将它们表示成线性矩阵形式。
空间点坐标XYZ的齐次坐标定义为(kX,kY,KZ,k),其中k是1个任意的非零常数。很明显,将齐次坐标变回笛卡尔坐标可用第4个坐标量去除前3个坐标量得到。这样1个笛卡尔坐标系中的点可用矢量形式表示为: W=[X Y Z]T 其对应的齐次坐标可表示为: Wh=[kX kY kZ k]T 如果定义透视变换矩阵为:
它和Wh的乘积PWh给出1个记为Ch的矢量:
这里Ch的元素是齐次形式的摄像机坐标,这些坐标可用Ch的第4项分别去除前3项转换成笛卡尔形式。所以,摄像机坐标系中任意一点笛卡尔坐标可表式成矢量形式:
在智能车路径识别中,摄像头坐标系与空间坐标系关系建立如下:
我再解释一下最后这个式子:计算X坐标用到一个负号,和减去一个2.4,是因为摄像头是倒装,摄像头成像4.8mm,减去中心计算的就是相对于中间的坐标。
可以借用MATLAB等工具解算出参数,直接带到单片机里面做运算~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|