在进行极线搜索时,为了方便,将极点通过射影变换转至无穷远点,则图上的极线都变成了平行线,便于搜索
PAT: 只能在极点位于图像外时使用这种方法,极点在图像内时,极点周围的点也会被变换到无穷远处

变换矩阵H的形式

He=[1,0,0]THe=[1,0,0]^THe=[1,0,0]T
HHH最少有6个自由度,为了减少畸变,应该使HHH接近刚体变换,H=GGRGT∈R3×3H=GG_RG_T\in R^{3\times3}H=GGR​GT​∈R3×3
GT=[10−Ox01−Oy001]G_T=\begin{bmatrix}1&0&-O_x\\0&1&-O_y\\0&0&1\\\end{bmatrix}GT​=⎣⎡​100​010​−Ox​−Oy​1​⎦⎤​
其中Ox,OyO_x,O_yOx​,Oy​是图像中心,GT[OxOy1]=[001]G_T\begin{bmatrix}O_x\\O_y\\1\end{bmatrix}=\begin{bmatrix}0\\0\\1\end{bmatrix}GT​⎣⎡​Ox​Oy​1​⎦⎤​=⎣⎡​001​⎦⎤​

GTG_TGT​将极点变换到图像坐标系下,再通过刚体变换GR∈SO(3)G_R\in SO(3)GR​∈SO(3)将极点变换到x轴上,GRG_RGR​是以z轴为旋转轴的旋转矩阵

GRGTe=[xe,0,1]TG_RG_Te=[x_e,0,1]^TGR​GT​e=[xe​,0,1]T
要使G[xe,0,1]=[1,0,0]TG[x_e,0,1]=[1,0,0]^TG[xe​,0,1]=[1,0,0]T,则G=[100010−1xe01]G=\begin{bmatrix}1&0&0\\0&1&0\\ -\frac{1}{x_e}&0&1\end{bmatrix}G=⎣⎡​10−xe​1​​010​001​⎦⎤​

已标定相机下的极线校正

A compact algorithm for rectification of stereo pairs
这篇论文是在相机已标定情况下讨论的极线校正,两个相机的投影矩阵PPP都认为已知
P~=K[R∣t]\tilde{P}=K[R|t]P~=K[R∣t]

论文讲的是如何计算一个矩阵把上面的相机位姿变换成下面图中这种形式,同时使图像的畸变尽量的小

可以看到,校正后两个成像平面的x轴和基线平行,也就是两个相机的旋转相同,同时相机在校正的过程中位置ccc是不能改变的,这样我们就能得到校正后投影矩阵PPP的大概形式
Pn1~=KR∣−Rc1,Pn2~=KR∣−Rc2\tilde{P_{n1}}=K{R|-Rc_1},\tilde{P_{n2}}=K{R|-Rc_2}Pn1​~​=KR∣−Rc1​,Pn2​~​=KR∣−Rc2​
矩阵RRR可以用他的行向量表示,R=[r1Tr2Tr3T]R=\begin{bmatrix}r_1^T\\r_2^T\\r_3^T\end{bmatrix}R=⎣⎡​r1T​r2T​r3T​​⎦⎤​
三个行向量分别代表了三个轴在世界坐标系中的单位向量,因为xxx轴和基线平行,所以r1=(c1−c2)∣∣c1−c2∣∣r_1=\frac{(c_1-c_2)}{||c_1-c_2||}r1​=∣∣c1​−c2​∣∣(c1​−c2​)​,yyy轴要平行于xxx轴,所以手动设置为r2=k^r1r_2=\hat{k} r_1r2​=k^r1​,其中kkk是任意单位向量,同时zzz轴要垂直于xxx轴和yyy轴,所以r3=r1^r2r_3=\hat{r_1}r_2r3​=r1​^​r2​,这个算法在相机纯平移前后运动时会失效

有了校正后的投影矩阵,我们就可以求解变换矩阵了,这里以左视图为例子



W~\tilde{W}W~是3D点,m~\tilde{m}m~是对应的投影点

可以看到两个图像点变换前后的关系为

变换矩阵为

论文中一些极线校正的结果

matlab提供的极线校正参考代码

官方文档
matlab中的代码是针对没标定好的相机的,只要两张图之间匹配点大于等于7个并且极点不在图像内就可以完成校正

参考文献

Hartley R, Zisserman A. Multiple view geometry in computer vision[M]. Cambridge university press, 2003.

Epipolar Recitification 极线校正/立体校正相关推荐

  1. opencv双目标定+立体校正+立体匹配(源码讲解)

    //双目标定无非就是重复两次单目标定的流程,单目标定参考我上一篇博客. //在学习双目视觉之前,建议大家补充下,双目视觉模型,对极几何的知识,今天只讲源码的流程,以后出一篇对极几何的讲解. //老规矩 ...

  2. 立体视觉--双目相机立体校正(Bouguet算法)

    双目相机立体校正(Bouguet算法) 在双目立体视觉的三维重建过程中,需要通过立体匹配算法来进行视差图的计算得到左右两幅图像的视差值,进而来计算深度来恢复场景的三维信息. 计算三维场景中目标点在左右 ...

  3. StereoRectify()函数定义及用法畸变矫正与立体校正

    畸变矫正是上一篇博文的遗留问题,当畸变系数和内外参数矩阵标定完成后,就应该进行畸变的矫正,以达到消除畸变的目的,此其一. 在该系列第一部分的博文中介绍的立体成像原理中提到,要通过两幅图像估计物点的深度 ...

  4. (七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】

    七.立体标定与立体校正 这篇博文中,让玉米和大家一起了解一下,张氏标定是怎样过渡到立体标定的?在这里主要以双目立体视觉进行分析.对于双目立体视觉,我们有两个摄像头.它们就像人的一双眼睛一样,从不同的方 ...

  5. 【立体视觉】双目立体标定与立体校正

    from:https://blog.csdn.net/u011574296/article/details/73826420 参考: 机器视觉学习笔记(6)--双目摄像机标定参数说明  机器视觉学习笔 ...

  6. 双目摄像头立体成像(二)畸变矫正与立体校正

    一.立体校正的原因 **原因一:**当畸变系数和内外参数矩阵标定完成后,就应该进行畸变矫正,以达到消除畸变的目的. **原因二:**在立体成像原理中提到,要通过两幅图像估计物点的深度信息,就必须在两幅 ...

  7. 双摄像头立体成像(三)-畸变矫正与立体校正

    双摄像头立体成像(三)-畸变矫正与立体校正 畸变矫正是上一篇博文的遗留问题,当畸变系数和内外参数矩阵标定完成后,就应该进行畸变的矫正,以达到消除畸变的目的,此其一. 在该系列第一部分的博文中介绍的立体 ...

  8. 双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python

    双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python 目录 双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python 1.项目结构 2. Environment 3.双 ...

  9. Baumer工业相机堡盟相机VLXT-90M.I如何做平场校正阴影校正:消除图像明暗不均匀现象

    项目场景: 特殊环境类项目,使用高速高稳定并自带高防护的VLXT.90M.IBaumer相机作为相机主体,它属于万兆网系列中的一种,使用该相机可以保证图像质量的前提下提高图像传输速度. 相机型号:VL ...

最新文章

  1. java编程器答疑z湖南岚鸿,吐血整理
  2. 极客Web前端开发资源大荟萃#017
  3. php 检测密码,php检测密码强度
  4. 软件工厂是否真的可能存在?
  5. php 快速排序函数,PHP实现快速排序算法的三种方法
  6. 应用程序虚拟化,序列化实验 Microsoft Desktop Optimization Pack 实现一个应用程
  7. 【模板】左偏树(可并堆)
  8. 23. jQuery 遍历 - 过滤
  9. 【学习笔记】软考中级【数据库系统工程师】下午题技巧
  10. 睿智的目标检测26——Pytorch搭建yolo3目标检测平台
  11. 太阳换ip软件_[动态IP]太阳动态IP加速器v3.3.8会员版
  12. 【CV】第 9 章:使用多任务深度学习的动作识别
  13. 最害怕的是,不知道想要什么
  14. Jmeter个人使用部分整理2021
  15. 【win10】安装wsl,报错WslRegisterDistribution failed with error: 0x8007019e
  16. 逻辑回归分析实训----乳腺癌肿瘤预测
  17. 股利折现模型详解-股票定价-财务管理(七)
  18. 3t硬盘哪个服务器系统识别,3T硬盘为何不能被系统完全识别
  19. 【picoCTF2022】Misc部分
  20. 国科大-高性能计算考试

热门文章

  1. Deep Learning ---Ian Goodfellow
  2. 【C语言】利用rand函数不重复地生成不重复的数组发牌且配对!扑克牌管理操作系统的升级与优化(CodeBlocks)
  3. 【LEDE】x86软路由之路-09-AirPlay音乐推流(安卓+IOS)
  4. 【最新版】Java学习路线(含B站口碑推荐视频链接)
  5. android beacon微定位,【iBeacon定位开发】- AndroidBLE--Measuring distance(测量距离)
  6. 山东大学软件学院移动互联网开发技术期末考试回忆版
  7. 互联网快讯:拓荆科技成功登陆科创板;极米H3S、极米Z6X Pro持续热销;盒马在上海启动“流动超市”
  8. 重装系统后电脑数据恢复办法
  9. CSharp调用C++代码
  10. 预告 | 5月26日IGS大会腾讯云游戏新文娱分论坛遇见TcaplusDB