摄像机标定过程中用到的函数

摄像机标定过程中用到的函数

ID:11773666

大小:23.54 KB

页数:6页

时间:2018-07-13

摄像机标定过程中用到的函数_第1页
摄像机标定过程中用到的函数_第2页
摄像机标定过程中用到的函数_第3页
摄像机标定过程中用到的函数_第4页
摄像机标定过程中用到的函数_第5页
资源描述:

《摄像机标定过程中用到的函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、intcvFindChessboardCorners(constvoid*image,CvSizepattern_size,CvPoint2D32f*corners,int*corner_count=NULL,intflags=CV_CALIB_CB_ADAPTIVE_THRESH);image输入的棋盘图,必须是8位的灰度或者彩色图像。pattern_size棋盘图中每行和每列角点的个数。corners检测到的角点corner_count输出,角点的个数。如果不是NULL,函数将检测到的角点的个数存

2、储于此变量。flags各种操作标志,可以是0或者下面值的组合:CV_CALIB_CB_ADAPTIVE_THRESH-使用自适应阈值(通过平均图像亮度计算得到)将图像转换为黑白图,而不是一个固定的阈值。CV_CALIB_CB_NORMALIZE_IMAGE-在利用固定阈值或者自适应的阈值进行二值化之前,先使用cvNormalizeHist来均衡化图像亮度。CV_CALIB_CB_FILTER_QUADS-使用其他的准则(如轮廓面积,周长,方形形状)来去除在轮廓检测阶段检测到的错误方块。函数cvFind

3、ChessboardCorners试图确定输入图像是否是棋盘模式,并确定角点的位置。如果所有角点都被检测到切它们都被以一定顺序排布(一行一行地,每行从左到右),函数返回非零值,否则在函数不能发现所有角点或者记录它们地情况下,函数返回0。例如一个正常地棋盘图右8x8个方块和7x7个内角点,内角点是黑色方块相互联通地位置。这个函数检测到地坐标只是一个大约地值,如果要精确地确定它们的位置,可以使用函数cvFindCornerSubPix。FindCornerSubPix寻找棋盘图的内角点位置精确角点位置vo

4、idcvFindCornerSubPix(constCvArr*image,CvPoint2D32f*corners,intcount,CvSizewin,CvSizezero_zone,CvTermCriteriacriteria);image输入图像.corners输入角点的初始坐标,也存储精确的输出坐标count角点数目win搜索窗口的一半尺寸。如果win=(5,5)那么使用5*2+1×5*2+1=11×11大小的搜索窗口zero_zone死区的一半尺寸,死区为不对搜索区的中央位置做求和运算的区

5、域。它是用来避免自相关矩阵出现的某些可能的奇异性。当值为(-1,-1)表示没有死区。criteria求角点的迭代过程的终止条件。即角点位置的确定,要么迭代数大于某个设定值,或者是精确度达到某个设定值。criteria可以是最大迭代数目,或者是设定的精确度,也可以是它们的组合。函数cvFindCornerSubPix通过迭代来发现具有子象素精度的角点位置,或如图所示的放射鞍点(radialsaddlepoints)。子象素级角点定位的实现是基于对向量正交性的观测而实现的,即从中央点q到其邻域点p的向量和

6、p点处的图像梯度正交(服从图像和测量噪声)。考虑以下的表达式:εi=DIpiT·(q-pi)其中,DIpi表示在q的一个邻域点pi处的图像梯度,q的值通过最小化εi得到。通过将εi设为0,可以建立系统方程如下:sumi(DIpi·DIpiT)·q-sumi(DIpi·DIpiT·pi)=0其中q的邻域(搜索窗)中的梯度被累加。调用第一个梯度参数G和第二个梯度参数b,得到:q=G-1·b该算法将搜索窗的中心设为新的中心q,然后迭代,直到找到低于某个阈值点的中心位置。DrawChessBoardCorne

7、rs绘制检测到的棋盘角点voidcvDrawChessboardCorners(CvArr*image,CvSizepattern_size,CvPoint2D32f*corners,intcount,intpattern_was_found);image结果图像,必须是8位彩色图像。pattern_size每行和每列地内角点数目。corners检测到地角点数组。count角点数目。pattern_was_found指示完整地棋盘被发现(≠0)还是没有发现(=0)。可以传输cvFindChessboa

8、rdCorners函数的返回值。当棋盘没有完全检测出时,函数cvDrawChessboardCorners以红色圆圈绘制检测到的棋盘角点;如果整个棋盘都检测到,则用直线连接所有的角点。CalibrateCamera2利用定标来计算摄像机的内参数和外参数voidcvCalibrateCamera2(constCvMat*object_points,constCvMat*image_points,constCvMat*point_counts,CvSizei

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。