opencv相机标定

前提是你 提交于 2020-11-18 03:55:30

 参考:张正友相机标定程序实现

相机标定目的:建立相机成像几何模型(获取相机内外参)并矫正透镜畸变。

世界坐标系、相机坐标系、图像坐标系、像素坐标系

其中,相机坐标系的Z轴与光轴重合,且垂直于图像坐标系平面并通过图像坐标系的原点,相机坐标系与图像坐标系之间的距离为焦距f(也即图像坐标系原点与焦点重合)。像素坐标系平面u-v和图像坐标系平面x-y重合,但像素坐标系原点位于图中左上角。

棋盘是一块由黑白方块间隔组成的标定板,我们用它来作为相机标定的标定物(从真实世界映射到数字图像内的对象)。之所以我们用棋盘作为标定物是因为平面棋盘模式更容易处理(相对于复杂的三维物体),但与此同时,二维物体相对于三维物体会缺少一部分信息,于是我们会多次改变棋盘的方位来捕捉图像,以求获得更丰富的坐标信息。

findChessboardCorners()  检测棋盘格内部角点的位置,为了得到更为精确的角点位置,可以用cornerSubPix()

cornerSubPix()  The function iterates to find the sub-pixel accurate location of corners or radial saddle points,输入要求为灰度图像

findCirclesGrid()  检测圆形珊格的中心点

drawChessboardCorners()  在图像上画角点

calibrateCamera()  相机标定,通过不同视角下的标定板图片计算相机内外参数。

projectPoints()  根据指定的相机内外参数,计算3D点在图像平面的的投影点坐标,可用来评价标定结果。

initUndistortRectifyMap()  计算畸变映射

remap()  图片重映射

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!