昨天和今天看了一篇用 Vanishing Point 来进行相机标定的的文章,是一篇1990年的工作,论文链接在最后。里边有关相机标定的一些符号和矩阵表示跟我之前看的《An Invitation to 3-D Vision From Images to Geometry Models》这本书里的表示有些不同,最后大部分内容都统一了起来,但还有一些内容无法统一。

相机标定中,想要获得的参数为内参 αx,αy,ox,oy{\alpha}_x, {\alpha}_y, o_x, o_y, 外参 R,TR, T.

Vanishing Point: 对于场景中的一条线SS,这条线和像平面是不平行的, 当SS 向无穷远延伸时,无穷远处的点在像平面上的投影就是SS对应的Vanishing Point vSv_S. 设ff表示相机的焦距,n=(nx,ny,nz)\textbf{n}=(n_x, n_y, n_z)表示SS方向的单位向量,那么vS=(fnxnz,fnynz,f)v_S=(f\frac{n_x}{n_z}, f\frac{n_y}{n_z}, f)

论文中介绍了有关 Vanishing Point 的三个Property:
1. 对于和像平面不平行的直线的集合A={Si}A = \{S_i\},这些线对应的vSv_S的集合为α={vSi}\alpha = \{v_{S_i}\},那么α\alpha中的点在一条直线上, 当且仅当AA中的线和同一个平面ΠA{\Pi}_A平行。
2. 对于三条相互垂直的线Q,RQ, R 和 SS, 它们对应的 Vanishing Point 分别为vQ,vRv_Q, v_R 和 vSv_S, 如果知道其中上面三个点中的一个,比如 vQv_Q, 而且也知道在像平面里经过另外一个点vRv_R 的直线的方向, 那么就可以计算得到vR,vSv_R, v_S 的坐标。
3. 对于 2 中三个点,它们构成的三角形的垂心就是相机的光轴与像平面的交点。

对于上面三个 property, 论文中给出的证明前两个没看懂,最后一个看懂了,我的理解是三个点在图像中对应的点构成的三角形的垂心的像素坐标就是内参 ox,oyo_x, o_y. 关于另外连个参数的获取,我没看懂,但在论文中,主要是通过手动的方式去获得 Vanishing Point,从而去求其他参数。

相机外参主要是两个或多个相机之间相对位置关系。对于两个相机 C,C′C, C', 以C′C' 为参考相机, 对于场景中的一个点MM, 在两个相机坐标系中的坐标分别为 P,P′P, P', 那么

P′=RP+T^

P'=RP+\hat{T}
其中 RR 表示CC的坐标轴在 C′C' 里的坐标, RR 为正交矩阵, T^\hat{T} 表示 CC 的坐标原点在 C′C' 中的坐标。

在 CC 中, 场景中相互垂直的三个直线的单位方向向量v1,v2,v3v_1, v_2, v_3, 构成一个矩阵V=[v1,v2,v3]V=[v_1, v_2, v_3], 这三条直线在C′C'中对应的矩阵为V′V', 那么就有如下关系

V′=RV

V'=RV
如果 V,V′V, V' 已知, 那么可以获得

R=V′V−1=V′VT

R=V'V^{-1}=V'V^{T}
对于点 P,P′P, P', 之间还存在另一种关系

P′=R(P−T)

P'=R(P-T)
其中 TT 表示 C′C' 的坐标原点在 CC 的坐标,那么可以获得

T=P−RTP′

T=P-R^{T}P'

上面关于 R,TR, T 的求解看似很简单, 作者在论文中也介绍了很多,但从论文中看, 都需要人工去测量,我搞不懂从真实场景坐标到像素坐标的中间过程该怎么去测量,这是让我很头疼的地方。因为以前看的张正友的标定方法,基本不需要手动去测量,所以看到这种方法, 感觉怪怪的。

理解中一定有很多错误的地方,但是先把自己的理解写下来,要不然睡一觉就忘了。

论文题目 《Using Vanishing Points for Camera Calibration》,链接为 https://courses.engr.illinois.edu/cee598vsc/machineproblems/Using%20Vanishing%20Points%20for%20Camera%20Calibration.pdf

Using Vanishing Points for Camera Calibration相关推荐

  1. 张正友棋盘法定标--Matlab【Camera Calibration Toolbox】

    [未完,占坑后补,过程代码已附,可参考] 张正友棋盘法定标--Matlab[Camera Calibration Toolbox] 一.Kinect2.0采集RGB-D数据 1.1 安装驱动及数据采集 ...

  2. Camera Calibration 相机标定

    Camera Calibration 相机标定 一.相机标定方法 在opencv中提供了一组函数用于实现相机的标定,标定返回的值包括:相机内参矩阵(fx fy xc yc).相机外参矩阵(R t)以及 ...

  3. 标题 相机标定(Camera calibration)原理和步骤

    标题 相机标定(Camera calibration)原理和步骤 为什么要相机标定? 在图像测量过程和机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机 ...

  4. Python+OpenCV:摄像机标定(Camera Calibration)

    Python+OpenCV:摄像机标定(Camera Calibration) 理论 Some pinhole cameras introduce significant distortion to ...

  5. 工业互联网(十四)——相机标定(Camera calibration)原理、步骤

    转载: 最详细.最完整的相机标定讲解 图像处理--相机标定(Camera calibration) 相机标定 相机标定(Camera calibration)原理.步骤 工业相机标定相关知识整理 相机 ...

  6. Online Stereo Camera Calibration From Scratch 论文翻译

    目录 Online Stereo Camera Calibration From Scratch Abstract 1. Introduction 2. Online Camera Calibrati ...

  7. 摄像头标定GML Camera Calibration

    摄像头标定GML Camera Calibration GML Camera Calibration官方版是一款十分优秀出色的相机标定软件,GML Camera Calibration官方版界面友好, ...

  8. 图像拼接--Fish-Eye Lenses-Based Camera Calibration and Panoramic Image Stitching

    Fish-Eye Lenses-Based Camera Calibration and Panoramic Image Stitching 2018 IEEE International Confe ...

  9. OpenCV相机校准camera calibration的实例(附完整代码)

    OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 #inc ...

最新文章

  1. ps制作20种特效文字_ps技巧:给照片制作特效(刀光剑影)
  2. python扫描proxy并获取可用代理ip列表
  3. php注册树模式,php基础设计模式大全(注册树模式、工厂模式、单列模式)
  4. dbentry访问带密码的Access
  5. win10鼠标不受控制乱动_终于可以一键禁止Win10自动更新了
  6. NetTiers学习笔记12---deepload的递归
  7. 数据库可视化工具(SQLyog安装教程)
  8. MATLAB 风玫瑰图 wind_rose.m
  9. 过滤文本中的中英文标点符号、字母、数字、表情
  10. Kinect v2(Microsoft Kinect for Windows v2 )配置移动电源解决方案
  11. 展望2019年:未来一年的WordPress
  12. ocr初始化失败怎么办_win10重置初始化失败怎么办_win10重置初始化失败的处理办法...
  13. 小公司真的能培养出来自己的人吗?员工真的成长过快是好事吗?
  14. 644.奇怪的打印机(困难)
  15. VS2022 .NET 特性重复
  16. MYSQL cmd命令行大全
  17. AI工具:Anaconda中Jupyter不能import已安装module问题解决
  18. 你随身携带的录音工作室:录音机HD“录音工作室”9.0.4评测
  19. springboot+jspssm中草药商城 供求信息管理系统
  20. 精准把控企业制造前端,美云智数采购云更智能

热门文章

  1. 防止 rm -rf / 删根跑路——使用 safe-rm 替代 rm
  2. G711(G711a+g711u)编码原理及代码
  3. 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp这些都是什么意思啊?
  4. 设计模式笔记——代理模式
  5. 重新编译CDH版本hadoop报错:Non-resolvable parent POM: Could not transfer artifact com.
  6. html表格填充随页面大小自动缩放,一个简单的html表格自适应解决方案
  7. 工业镜头倍率及视场范围、焦距的计算方法
  8. 工作督办系统功能开发设计
  9. 关于IDEA控制台中文乱码问题的解决
  10. 大豆技术面分析_大豆高产栽培技术分析,科学施肥很关键,建议收藏