Cv照相机定标和三维重建
目录
1 针孔相机模型和变形
2 照相机定标
2.1 ProjectPoints2
2.2 FindHomography
2.3 CalibrateCamera2
2.4 FindExtrinsicCameraParams2
2.5 Rodrigues2
2.6 Undistort2
2.7 InitUndistortMap
2.8 FindChessboardCorners
2.9 DrawChessBoardCorners
3 姿态估计
3.1 CreatePOSITObject
3.2 POSIT
3.3 ReleasePOSITObject
3.4 CalcImageHomography
4 对极几何(双视几何)
4.1 FindFundamentalMat
4.2 ComputeCorrespondEpilines
4.3 ConvertPointsHomogenious
3)姿态估计
3.1)CreatePOSITObject:初始化包含对象信息的结构
CvPOSITObject* cvCreatePOSITObject( CvPoint3D32f* points, int point_count );
points
指向三维对象模型的指针
point_count
对象的点数
函数 cvCreatePOSITObject 为对象结构分配内存并计算对象的逆矩阵。
预处理的对象数据存储在结构CvPOSITObject中,只能在OpenCV内部被调用,即用户不能直接读写数据结构。用户只可以创建这个结构并将指针传递给函数。
对象是在某坐标系内的一系列点的集合,函数 cvPOSIT计算从照相机坐标系中心到目标点points[0] 之间的向量。
一旦完成对给定对象的所有操作,必须使用函数cvReleasePOSITObject释放内存。
3.2)POSIT:执行POSIT算法
void cvPOSIT( CvPOSITObject* posit_object, CvPoint2D32f* image_points,
double focal_length,
CvTermCriteria criteria, CvMatr32f rotation_matrix,
CvVect32f translation_vector );
posit_object
指向对象结构的指针
image_points
指针,指向目标像素点在二维平面图上的投影。
focal_length
使用的摄像机的焦距
criter