摄像机标定后 标定出的内外参数下一步该咋用

不知道题主做的是单目测量还是双目测量。如果是单目测量,标定完之后就可以直接用内参数和畸变参数得到畸变校正图像。对于OpenCV,也即用内参数和畸变参数作为initUndistortRectifyMap()函数的输入,得到原图像与畸变校正图像的x,y坐标映射关系,即两个变换矩阵。再以这两个变换矩阵作为remap()函数的输入,得到畸变校正图像。到这一步,单目标定的目的已经达到了,接下来的图像处理就是别的问题了。如果是双目测量,要做的就复杂一些。由于需要保证立体匹配的准确度,所以需要在单目标定完两个摄像头后,进一步做外极线校准。对于OpenCV,也即用单目标定的输出作为stereoCalibrate()的输入,得到结构参数R和T。再以结构参数作为stereoRectify()的输入,得到重投影矩阵Q。然后以Q为输入,通过initUndistortRectifyMap()和remap()完成重投影,得到极线校准图片对。接下来就是立体匹配的事了。关于标定的概念,可以浏览一下我以前的回答,有点长。机器视觉的相机标定到底是什么? - 陈明猷的回答
■网友
诶,话说你做摄像机标定是为了干什么?如果是摄影测量的话,接下来你可以将你要测量的对象作为变量,带入摄像机成像方程,当然方程里需要用到你刚刚标定出来的摄像机参数以及你要测量的对象在图像中的像对应的长度。接下来解方程,当然由于摄像机是二维成像,会损失空间信息,理论上不做任何拍摄限制的话,这个方程是解不出来的,所以你需要有一些先验知识,比如物体到摄像机光心的距离之类的。当然你也可以多拍几张,然后联立解方程,这个就是立体视觉和双目视觉的基本内容了。具体细节,可以去读一下《计算机视觉:一种现代方法》(Computer vision: A modern Approach)中的立体视觉和motion from structure的章节。
■网友
你标定来是要做什么呢?你说视觉测量,你的方法选好了么?比如结构光法来说,像平面坐标和相机坐标系坐标的转换是要依靠内参外参的。
■网友
【摄像机标定后 标定出的内外参数下一步该咋用】 我讲一下像素坐标与世界坐标的转换,这里用公式做一下简单推导:
摄像机标定后 标定出的内外参数下一步该咋用

(u,v)为图像上的像素坐标,s为像素坐标转换到相机坐标中未知数,(X,Y,Z)为世界坐标,A为内参矩阵,R为旋转矩阵,t为平移向量,不同位置的棋盘格对应不同的,世界坐标原点为棋盘格的一个顶点,xOy平面即位棋盘格的平面,此处的旋转和平移是把相机坐标系转换到世界坐标系。
做一下变换:
摄像机标定后 标定出的内外参数下一步该咋用

令摄像机标定后 标定出的内外参数下一步该咋用
,则
摄像机标定后 标定出的内外参数下一步该咋用


推荐阅读