功能说明:

  • 输入:两帧图像的相对变换Tji =(R,t) (从图像i变换到图像j), 相机的内参K (假设两幅图像使用的相机是同一个), 输入图像i中的点m
  • 输出:计算图像i的m点, 在图像j上的极线l'm = (a,b,c), (则图像j上的极线方程为 ax + by +c = 0)

图示与原理:

基本矩阵 F 描述了图像点 m 与其对应极线 lm′ 间的对应关系:。由于图像点 m 在第二幅图像上的对应点 m′ 在极线 lm′ 上,所以必有

实现:


def  calculate_epipolar_line (K, Tji, m):"""calculate the epipolar line for point mArgs:K (numpy, (3,3) ):  the intrinsic parameter of camera0 and camera1Tji (numpy, 4x4): the transformation from frame i(camera0) to  frame j(camera1)m (numpy, (2,) ): (x,y) point u in frame i(camera0)Returns:L(numpy, (3,1) ): the epipolar line of m in frame j"""R =Tji[0:3,0:3]t = Tji[0:3, 3].reshape([3,1])MatK = mat(K)MatR = mat(R)# the epipolar point in frame ie = MatK * MatR.T * t   # shape: (3,1) #check ok# the antisymmetric matrix of eex = mat(np.array([ [0, -e[2,0], e[1,0]],[e[2,0], 0, -e[0,0]],[-e[1,0], e[0,0], 0]]))# the fundamental matrixF = MatK.T.I * MatR * MatK.T * exassert (matrix_rank(F) == 2) m_h = np.array([[m[0]],[m[1]],[1]])L = F * m_hreturn L

多视几何_计算两幅图像之间的基础矩阵F和一副图像上的点在另一福图像上的极线L相关推荐

  1. 计算两幅图之间的旋转角

    a.从图像中心向四周抛出射线,以0.1°为一格,共360°,3600个射线: b.计算每根射线所打到图像上的像素累计和,得到一个曲线,可称为一个方向向量. c.模板图和测试图的两个曲线之间的距离乘以0 ...

  2. java实现剩余年假计算_计算两个日期之间的天数、工时(去除周六日、年假日)...

    需求: 有个外出申请的功能,我填写上外出申请时间.外出返回日期, 自动计算出 外出的天数和工时(其中不包含周六日.年假日) 外出申请日期 :2020-12-24 14:54:00 外出返回日期 : 2 ...

  3. 计算两幅图像PSNR

    计算两幅图像PSNR 1.原始图像 2.对比图像 3.MATLAB程序代码 4.计算结果 1.原始图像 lenna512.bmp 2.对比图像 lenna512_low_dynamic_range.b ...

  4. python算两个点的距离公式_计算Python Numpy向量之间的欧氏距离实例

    计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下: import numpy dist = numpy.sqrt(numpy.sum(num ...

  5. java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  6. java 两日期的周数_利用 Java 中 Calendar 计算两个日期之间的天数和周数

    利用 Java 中 Calendar 计算两个日期之间的天数和周数 前言 究竟什么是一个 Calendar 呢? 中文的翻译就是日历, 那我们立刻可以想到我们生活中有阳 (公) 历阴 (农) 历之分它 ...

  7. OpenCV计算两条平行线之间的距离

    代码来自www.opencvchina.com #include "cv.h" #include "highgui.h" #include "cxco ...

  8. hive 计算两个经纬度之间的距离

    select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2* ...

  9. Go获取n天前或后的日期、日期转秒时间戳、计算两个日期之间的天数差

    获取n天前或后的日期: // GetBeforeTime 获取n天前的秒时间戳.日期时间戳 // _day为负则代表取前几天,为正则代表取后几天,0则为今天 func GetBeforeTime(_d ...

  10. 计算两个点之间的距离

    题目来源:学堂在线_清华大学_JAVA程序设计 编写一个表示二维平面上的点的类MyPoint,满足以下条件: 1.定义private的成员变量x和y,表示点的x和y坐标,类型为double 2.定义两 ...

最新文章

  1. QIIME 2用户文档. 21图形界面q2studio(2019.7)
  2. Hyperic 脚本服务(Script service)配置
  3. VTK:图片之ImageValueRange
  4. Git最最常用的命令
  5. 网易2019实习生Java编程题
  6. 算法---会议最大安排问题
  7. Linux 初始化系统(系统服务管理和控制程序/Init System) -- System V init(SysV init) 的简单理解
  8. iOS - 集成SDK问题
  9. c语言实现可变单链表,c语言实现单链表
  10. .NET Core2.0 使用EF做数据操作
  11. oracle 锁表查询及解决、表字段查询
  12. android shell强制删除文件夹_手机文件夹都是英文,看不懂、又不敢删?教你如何辨别、释放内存...
  13. shp数据制作3DTiles白膜
  14. a3图纸标题栏尺寸标准_标准CAD制图上A3图幅上的标题栏尺寸是多少
  15. 基于JAVA汽车客运站票务管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  16. ionic ion-refresher刷新完毕
  17. 图数据分析到图卷积神经网络
  18. JavaScript slice( )、splice( )、split( )
  19. TP-LINK WR740N V5.7刷OpenWrt的一些经验
  20. 【FPGA黑金开发板】发布第二代黑金核心板 HJ-II-CORE

热门文章

  1. Golang(八)go modules 学习
  2. Sequence of methods in form and table in AX
  3. 关于UIAlertAction如何修改sheet上的字体颜色
  4. 使用自定义手势处理器-陈鹏
  5. 执行计划之CONCATENATION
  6. notepad++自动补全括号
  7. docker安装mySQL 8
  8. ECMAScript 6细说转码的常见的几种方案
  9. Java基础IO流(案例源码)【六】
  10. 解决Chrome浏览器中使用showModalDialog返回值为undefined