1、世界坐标系一点P(Xw,Yw,Zw)转换到摄像机坐标系为(Xc,Yc,Zc)

其中R表示旋转矩阵,T表示平移矩阵

2、摄像机坐标系点(Xc,Yc,Zc)映射到图像坐标系的p(x,y)转换关系用到了透视投影

f为相机的焦距

转换为齐次坐标形式为

3、图像坐标系p(x,y)转换为像素坐标系(u,v),其中u,v表示像素点的行列数,dx和dy表示垂直和水平上每毫米有多少个像素,也就是每毫米有多少行像素和多少列像素,我们以(u,v)来表示图像上像素的列标和行标,这个是以像素为单位的图像坐标系中的坐标,坐标系的圆点Oo设在图像的左上角,同时还需要建立以实际物理单位如毫米为单位的图像坐标系,把该坐标系的圆点O1定在摄像机光轴和图像的交点处,x,y轴分别于u,v轴平行,如下图所示,并设O1的像素坐标为(u0,v0)(一般接近图像中心处),以dx和dy表示单个像素在x和y方向上的物理尺寸,则像素坐标系于图像坐标系存在的关系有:

转换为齐次坐标形式

则最终将像素坐标系与世界坐标系进行转换,为了计算方便在上面的式子中左右都乘上Zc。

则先转换为摄像机坐标系

再转换为世界坐标系为

进一步转化为

其中,分别表示u,v轴上的尺度因子。

M1是相机的内参数矩阵,由相机内部决定

M2是相机的外参数矩阵,由旋转和平移矩阵决定

畸变校正部分

在没有经过畸变校正的前点为(u,v)

则经过径向畸变校正后点为:

所以在标定的时候,需要标定出k1,k2,k3,k4畸变系数,r为畸变点到摄像机光心的距离

平行双目视觉模型部分

空间中的一点P在左右摄像机平面的坐标为pl(xl,yl),pr(xr,yr),连接左右摄像机Ol和Or为基线,基线长度为T,可以根据三角行相似性原理和左右摄像机平面上的坐标来求得,P点在左摄像机坐标系上的XYZ坐标。

下面将仔细认真的推导以下三维点云坐标的计算公式,有不对的地方还请指正

还是需要上面的图,但是我们需要设定几个未知值,请看下图

同理可以根据三角型相似性原理可以求出Y轴上的坐标:

最后可以总结得出三维坐标公式为:

摄像机模型和双目建模三维点云的理解相关推荐

  1. Talk预告 | 牛津大学胡庆拥:大场景三维点云语义理解Ⅱ

    本期为TechBeat人工智能社区第431期线上Talk. 北京时间8月17日(周三)20:00,牛津大学计算机系在读博士生--胡庆拥的Talk将准时在TechBeat人工智能社区开播! 他与大家分享 ...

  2. CAD模型转为点云模型/三维点云转为灰度图

    一.三维模型转变为点云模型 (1)导入三维模型 首先准备好三维模型文件,笔者所使用的为.stl文件.在工具栏中找到File–>Open,选择三维模型文件点击打开,即可在CC中看到带转换的三维模型 ...

  3. 三维点云数据特征检测

    综述 扫描数据中存在大量冗余数据(不同角度多次拍摄),为后续曲面重建.模型编辑等带来很大不便,因此需要点云数据简化. 模型的特征区域:进行检测和提取 非特征区域:简化处理 特征 用于表达模型的正确外观 ...

  4. 大场景三维点云语义分割模型

    大场景三维点云语义分割模型 基于2D的方法 SqueezeSeg系列 一.简介 二.核心思路总结 三.要点分析 四.总结 VIASEG: VISUAL INFORMATION ASSISTED LIG ...

  5. 相机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像

    机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像 一.针孔相机模型 二.双目相机模型 三.OpenCV实例实现用Pangolin生成视差图像和3 ...

  6. 广州大学计算机綦科简历,基于八叉树空间分割的三维点云模型密写(綦科,谢冬青,2011)...

    介绍三维GIS应用中,八叉树原理.创建.优化的相关文章 计 算 机 工 程 第37卷 第4期 Computer Engineering V ol.37 No.4 文章编号:1000-3428(2011 ...

  7. 【三维深度学习】基于片元的渐进式三维点云上采样模型

    点云上采样对于从稀疏三维数据重建稠密三维点云十分有效.但面对非规则.无需.稀疏.噪声和不完整的点云结构,图像领域的超分辨.补全.稀疏加密等方法无法直接用于点云上采样中.PointNet系列方法基于全连 ...

  8. 双目相机实现物体三维重建,得到三维点云

    双目相机实现物体三维重建,得到三维点云. 可替代RealSenseD435,奥比中光等3D相机,性价比高!RTX3060上可实现50fps. Jetson Xavier上可实现8fps. 三维重建精度 ...

  9. 三维点云语义分割模型介绍

    三维点云语义分割模型介绍 1 三维深度学习简介 1.1 三维数据表达方式 2 PointNet 2.1 点云的属性 2.1.1 无序性 2.1.2 关联性 2.1.3 不变性 2.2 key modu ...

最新文章

  1. Mxnet Focal Loss实现
  2. Python中:self和__init__的含义 + 为何要有self和__init__
  3. 字节是微型计算机中存储容量的度量单位,微型计算机内存容量的基本计量单位...
  4. threadlocal_了解ThreadLocal背后的概念
  5. H.264学习--1
  6. Eclipse导入Solr源码Version5.5.3
  7. Adobe Illustrator的教程:如何建立扁平化设计角色动画
  8. 数据库配置不当,8.8亿条医疗记录遭泄露
  9. 掩膜裁剪tif步骤_ENVI中掩膜掩膜操作及影像分类教程
  10. 美团实习| 周记(二)
  11. windows python3.6 tensorflow1.12搭建RCNN运行环境 bug解决
  12. Arduino DIY 电子自动浇花浇水系统
  13. 偷偷赚钱的副业(真实有效)
  14. RK312x机顶盒Android4.4系统编译
  15. 电话号码344格式,修改也保持344格式
  16. 万能实用工具箱微信小程序
  17. android 自定义popupwindow,自定义通过PopupWindow实现通用菜单
  18. 【Flink】FLink Task did not exit gracefully within 180 + seconds 未解决
  19. 你觉得jQuery源码有哪些写的好的地方
  20. “无任何网络提供程序接受指定的网络路径”问题的几个解决方法

热门文章

  1. ue4 培养罐液体效果
  2. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(8月8日~8月14日)...
  3. pid上限问题,linux进程pid达到最大值,linux进程数最大值修改方法
  4. shadow:人工智能设计,一门自己生长的课
  5. spring入参为指定值,校验java入参的值为规定的值,利用Validator指定值校验注解——一看就会
  6. 1期精彩推荐:如何应对工作中的冲突?
  7. IM开发基础知识补课(二):如何设计大量图片文件的服务端存储架构?
  8. win10添加计算机语言,Win10添加语言包报错“0x800F0950”怎么办?
  9. parse_depend_manifests Could not find dependent assembly LMicrosoft.Windows.Common-Controls
  10. EPICS S7nodave手册