SteroVision -chapter11分析.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 相机模型与标定 摄像机模型 摄像机模型 摄像机模型 标定 标定 棋盘 棋盘 棋盘 棋盘 单应性 单应性 单应性 单应性 单应性 单应性 单应性 摄像机标定 棋盘角点个数和参数个数 内部探秘 标定函数 矫正 摄像机标定 矫正 矫正 矫正 矫正 标定实例 标定实例 标定实例 标定实例 标定实例 标定实例 标定实例 精密定位角点函数:cornerSubPix() 精确定位角点的位置: C++: void cornerSubPix(InputArray image, InputOutputArray corners, Size winSize, Size zeroZone,TermCriteria criteria) C: void cvFindCornerSubPix(const CvArr* image, CvPoint2D32f* corners, int count, CvSize win, CvSizezero_zone, CvTermCriteria criteria) 标定实例 Parameters image – 输入图像. corners – 输入角点的初始坐标,和提供给output的精细坐标; winSize – 搜索窗口边长的一半,例如,如果winSize=Size(5,5) , 那么搜索的窗口范围: (5 * 2 + 1 )× (5 * 2 + 1 )= 11 × 11 zeroZone – 在搜索区域中间的“死域(dead region)”尺度的一半,在该域范围内,下面的求和公式无效。有时候,它也被用于避开自相关矩阵的奇异点。当将该参数设定为(-1,-1)时,表示没有这样的“死域”。 criteria – 迭代终止判据,在角点坐标定位过程中,需要多次迭代计算,那么迭代停止的依据,就是该参数。它用于指定角点计算的最大迭代次数maxCount,或者角点坐标位移,在一定的迭代次数内,小于epsilon。 cornerSubPix 标定实例 cornerSubPix 该函数可以实现角点子像素精确位置的查找,或者径向马鞍点的子像素精确位置,如下图所示: 子像素精确的角点定位器,的理论基础是:从中心点q发出的,到q邻域内的p点的每一个矢量,垂直于图像梯度, 。 标定实例 考虑下面的表达式: cornerSubPix 其中的 是在q 的邻域中,一系列点pi中的第 i 个图像梯度 在计算过程中,就是找到q 的确切值,以使εi 最小。设定εi为0,建立方程组: 在q 的邻域内,即在搜索窗口(“search window”)内,求取梯度和。调用第一个梯度项G和第二个梯度b,我们得到: 该算法,将邻域窗口中心每次设置在新的中心q,然后迭代计算,直到中心 停滞在某一个预设的阈值范围内。 标定实例 OpenCV使用上述公式,来计算单应性矩阵。它使用同一物体的多个图像来计算每个视场的旋转和平移,同时也计算摄像机内参数(对所有视场不变)。如我们讨论的,旋转和平移分别用三个角度、三个偏移量定义,因此每个视场有6个未知量。 一个已知平面物体(如棋盘)能够提供8个方程,即映射一个正方形到四边形可以用4个(x,y)点来描述。每个新的图像帧为计算新的6个未知量提供8个方程,因此若给定足够图像,我们能够计算出未知参数的任何值。 通过下面简单方程,单应性矩阵H把源图像平面上的点集位置与目标图像平面上的点集位置联系起来: findHomography C++: Mat findHomography(InputArray srcPoints, InputArray dstPoints, int method=0, double ransacReprojThreshold= 3, OutputArray mask=noArray() ) C: int cvFindHomography(const CvMat* src_points, const CvMat* dst_points, CvMat* homography, int method=0, double ransacReprojThreshold=3, CvMat* mask=0 ) 参数说明: srcPoints – 原平面上点的坐标,数据类型为CV_32FC2 的矩阵,或二维点矢量Point2f . dstPoints – 目标平面上点的坐标,数据类型为CV_32FC2 的矩阵,或二维点矢量Point2f . method –计算H矩阵的方法,下面是几个可选的方法: – 0 –使用所有点的常规方法; – CV_RANSAC - RANSAC- 基于智能方法 – CV_LMEDS - Least-Median robust method r

文档评论(0)

风凰传奇 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档