官网:https://docs.opencv.org/3.4.0/d9/d0c/group__calib3d.html#ga4abc2ece9fab9398f2e560d53c8c9780

基础矩阵F

Mat cv::findFundamentalMat   (   InputArray      points1,InputArray      points2,int     method = FM_RANSAC,double      param1 = 3.,double     param2 = 0.99,OutputArray      mask = noArray() )

method: Method for computing a fundamental matrix.

CV_FM_7POINT for a 7-point algorithm. N=7
CV_FM_8POINT for an 8-point algorithm. N≥8
CV_FM_RANSAC for the RANSAC algorithm. N≥8
CV_FM_LMEDS for the LMedS algorithm. N≥8

param1: Parameter used for RANSAC
param2: Parameter used for the RANSAC or LMedS methods only

本质矩阵E

Mat cv::findEssentialMat     (   InputArray      points1,InputArray      points2,double      focal = 1.0,Point2d    pp = Point2d(0, 0),int     method = RANSAC,double     prob = 0.999,double    threshold = 1.0,OutputArray    mask = noArray() )

points1 :Array of N (N >= 5) 2D points from the first image. The point coordinates should be floating-point (single or double precision).
points2 :Array of the second image points of the same size and format as points1 .
focal :focal length of the camera(相机焦距)
pp :principal point of the camera.(相机光心)
method :计算本征矩阵的方法

  • RANSAC 用于RANSAC算法。

  • LMedS 用于LMedS算法。

threshold :Parameter used for RANSAC. It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is considered an outlier( 异常值) and is not used for computing the final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise.
mask :Output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. The array is computed only in the RANSAC and LMedS methods.

it computes camera matrix from focal length and principal point:

单应矩阵H

Mat cv::findHomography   (   InputArray      srcPoints,InputArray    dstPoints,int   method = 0,double      ransacReprojThreshold = 3,OutputArray      mask = noArray(),const int     maxIters = 2000,const double   confidence = 0.995 )

参数:
srcPoints:源平面中点的坐标矩阵,可以是CV_32FC2类型,也可以是vector类型
dstPoints:目标平面中点的坐标矩阵,可以是CV_32FC2类型,也可以是vector类型
method:计算单应矩阵所使用的方法。方法如下:

  • 0 - 利用所有点的常规方法
  • RANSAC - RANSAC-基于RANSAC的鲁棒算法
  • LMEDS - 最小中值鲁棒算法
    -RHO - PROSAC-基于PROSAC的鲁棒算法
    ransacReprojThreshold:将点对视为内点的最大允许重投影错误阈值(仅用于RANSAC和RHO方法

mask:可选输出掩码矩阵,通常由鲁棒算法(RANSAC或LMEDS)设置.
maxIters:RANSAC算法的最大迭代次数,默认值为2000。
confidence:可信度值,取值范围为0到1.

Opencv学习(3)——基础矩阵F、本质矩阵E、单应矩阵H 函数解析相关推荐

  1. linux vim编辑矩阵乘,LM算法计算单应矩阵

    LM算法计算单应矩阵 slam 单应矩阵 单应矩阵的定义 什么是单应矩阵呢?其实简单来说,就是两个图像之间的变换矩阵.什么意思呢,可以考虑这样一个情形: 你有一个相机,拍摄一个建筑物,首先在某一个视角 ...

  2. 多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程

    多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 1. 说明--其实求解过程大同小异 2. 单应矩阵求解过程 2.1 基于代数误差的线 ...

  3. 什么是单应矩阵和本质矩阵

    知乎上面的大牛还是很多,直接搜Homography或者单应矩阵就能得到很多大神的回答,可能回答中的一句话或者一个链接就够自己学习很久. 其实在之前研究双目视觉的时候就接触了对极几何,通过视觉就可以得到 ...

  4. 多视图几何总结——单应矩阵和基础矩阵的兼容关系

    多视图几何总结--单应矩阵和基础矩阵的兼容关系 多视图几何总结--单应矩阵和基础矩阵的兼容关系 (1)单应矩阵和基础矩阵的兼容性 (2)基础矩阵 -> 单应矩阵 (3)单应矩阵 -> 基础 ...

  5. 基本矩阵、本质矩阵和单应矩阵

    两幅视图存在两个关系:第一种,通过对极几何一幅图像上的点可以确定另外一幅图像上的一条直线:另外一种,通过上一种映射,一幅图像上的点可以确定另外一幅图像上的一个点,这个点是第一幅图像通过光心和图像点的射 ...

  6. 09_对极约束与单应矩阵

    前言 根据上一节的介绍,我们已经有了匹配好的点对,然后我们就可以根据点对估计相机的运动.这里由于相机的原理不同,我们要分情况讨论: 如果是单目相机,此时我们仅知道2D的像素坐标,要根据两组2D点估计相 ...

  7. MVG读书笔记——单应矩阵估计这件小事(一)

    参数估计是计算机视觉中经常遇到的一个问题,为较好的估计参数,人们发明了各种各样的算法.这里我们就以单应矩阵H的估计为例,一个个介绍这些常用算法. DLT算法 DLT(direct linear tra ...

  8. Colmap学习三:后端Initialization部分(基础矩阵F、本质矩阵E和单应矩阵H)

    算矩阵的基础知识 解析本质.基础.单应矩阵的自由度 1 寻找初始像对 1.1手动选择ID 1.2自动筛选 ①prior focal length存在情况下,开始筛选 匹配点数由小到大排序 第二张候选影 ...

  9. 2D - 2D 点对 求解基础矩阵 F 本质矩阵E 单应矩阵 H 进而求 旋转矩阵 R 和 t

    *对极几何 求解 两组单目相机 2D图像 间的 旋转平移 矩阵 * 2D 点对 求 两相机的 旋转和平移矩阵 * 空间点 P 两相机 像素点对 p1 p2 两相机 归一化平面上的点对 x1 x2 与P ...

最新文章

  1. Webpack 打包太慢?来试试 Bundleless
  2. SAP CRM WebClient UI cross component跳转的一个具体例子
  3. 大数据翻页_【干货】大数据翻页的难点和技巧
  4. win7下创建逻辑分区
  5. eclipse中将一个项目作为library导入另一个项目中
  6. 分析数据库CitusDB:提供弹性计算能力
  7. BIO与NIO、AIO的区别
  8. JEECG社区第六期架构培训班报名
  9. 慎用ArrayList的contains方法,使用HashSet的contains方法代替
  10. Python执行Linux系统命令方法
  11. python 读取TXT文件数据(字符或数值)存放在numpy数组中以及训练集测试集的处理(1)(个人笔记)
  12. vue组件eleme 时间选择器问题
  13. 微信小程序+.NET(五) 音频格式转换-从.mp3到.wav
  14. oracle 列转行
  15. RWS 负责任羊毛标准
  16. SSL安全连接是什么意思?HTTPS安全登录指的什么?
  17. xeon bronze 3106
  18. 算法笔记:找考试座位号问题
  19. 合数 java_java问题:素数,合数,其它
  20. matlab计算复数导数,带复数的符号运算,涉及求导,符号和数值的转换。

热门文章

  1. 2.语法特性(组合数据类型)
  2. 学习Linux的几点忠告(转贴)
  3. 单链表的基本操作-插入结点、删除结点、新建链表、查找结点位置
  4. 生成哑变量的几种方法
  5. 从request获取各种路径总结 转载:http://blog.csdn.net/piaoxuan1987/article/details/8541839 equest.getRealPath()
  6. assign()函数的使用
  7. 调试移动端网页工具Weinre使用整理
  8. DSO(1)——DSO论文详细解读
  9. 同步锁(synchronized)_37
  10. SAP 各模块常用的BAPI