该文章主要学习如何进行相机标定,原理部分只是比较多,不多赘述。
首先,相机标定主要是去求解内参K和外参(R|T)。以下为相机标定过程中常用的opencv自带的几个重要函数。
1.opencv 提供的函数ProjectPoints2(),投影三维点到图像二维点。函数参数如下
void cvProjectPoints2( const CvMat* object_points, const CvMat* rotation_vector, const CvMat* translation_vector, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvMat* image_points, CvMat* dpdrot=NULL, CvMat* dpdt=NULL, CvMat* dpdf=NULL, CvMat* dpdc=NULL, CvMat* dpddist=NULL );
object_points:物体点的坐标,为3*N或者N*3的矩阵,N是视图中所有点的数目
rotation_vector:旋转向量1*3
translation_vector:平移向量 1*3
intrisic_vector:相机内参 其可由calibrateCamera完成
image_Points:输出数组,存储图像点的坐标,2*N
2.FindHomography(): 计算两个平面之间的透视变换。函数参数如下:
void cvFindHomogr