摄像机模型和双目建模三维点云的理解
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轴上的坐标:
最后可以总结得出三维坐标公式为:
摄像机模型和双目建模三维点云的理解相关推荐
- Talk预告 | 牛津大学胡庆拥:大场景三维点云语义理解Ⅱ
本期为TechBeat人工智能社区第431期线上Talk. 北京时间8月17日(周三)20:00,牛津大学计算机系在读博士生--胡庆拥的Talk将准时在TechBeat人工智能社区开播! 他与大家分享 ...
- CAD模型转为点云模型/三维点云转为灰度图
一.三维模型转变为点云模型 (1)导入三维模型 首先准备好三维模型文件,笔者所使用的为.stl文件.在工具栏中找到File–>Open,选择三维模型文件点击打开,即可在CC中看到带转换的三维模型 ...
- 三维点云数据特征检测
综述 扫描数据中存在大量冗余数据(不同角度多次拍摄),为后续曲面重建.模型编辑等带来很大不便,因此需要点云数据简化. 模型的特征区域:进行检测和提取 非特征区域:简化处理 特征 用于表达模型的正确外观 ...
- 大场景三维点云语义分割模型
大场景三维点云语义分割模型 基于2D的方法 SqueezeSeg系列 一.简介 二.核心思路总结 三.要点分析 四.总结 VIASEG: VISUAL INFORMATION ASSISTED LIG ...
- 相机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像
机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像 一.针孔相机模型 二.双目相机模型 三.OpenCV实例实现用Pangolin生成视差图像和3 ...
- 广州大学计算机綦科简历,基于八叉树空间分割的三维点云模型密写(綦科,谢冬青,2011)...
介绍三维GIS应用中,八叉树原理.创建.优化的相关文章 计 算 机 工 程 第37卷 第4期 Computer Engineering V ol.37 No.4 文章编号:1000-3428(2011 ...
- 【三维深度学习】基于片元的渐进式三维点云上采样模型
点云上采样对于从稀疏三维数据重建稠密三维点云十分有效.但面对非规则.无需.稀疏.噪声和不完整的点云结构,图像领域的超分辨.补全.稀疏加密等方法无法直接用于点云上采样中.PointNet系列方法基于全连 ...
- 双目相机实现物体三维重建,得到三维点云
双目相机实现物体三维重建,得到三维点云. 可替代RealSenseD435,奥比中光等3D相机,性价比高!RTX3060上可实现50fps. Jetson Xavier上可实现8fps. 三维重建精度 ...
- 三维点云语义分割模型介绍
三维点云语义分割模型介绍 1 三维深度学习简介 1.1 三维数据表达方式 2 PointNet 2.1 点云的属性 2.1.1 无序性 2.1.2 关联性 2.1.3 不变性 2.2 key modu ...
最新文章
- Mxnet Focal Loss实现
- Python中:self和__init__的含义 + 为何要有self和__init__
- 字节是微型计算机中存储容量的度量单位,微型计算机内存容量的基本计量单位...
- threadlocal_了解ThreadLocal背后的概念
- H.264学习--1
- Eclipse导入Solr源码Version5.5.3
- Adobe Illustrator的教程:如何建立扁平化设计角色动画
- 数据库配置不当,8.8亿条医疗记录遭泄露
- 掩膜裁剪tif步骤_ENVI中掩膜掩膜操作及影像分类教程
- 美团实习| 周记(二)
- windows python3.6 tensorflow1.12搭建RCNN运行环境 bug解决
- Arduino DIY 电子自动浇花浇水系统
- 偷偷赚钱的副业(真实有效)
- RK312x机顶盒Android4.4系统编译
- 电话号码344格式,修改也保持344格式
- 万能实用工具箱微信小程序
- android 自定义popupwindow,自定义通过PopupWindow实现通用菜单
- 【Flink】FLink Task did not exit gracefully within 180 + seconds 未解决
- 你觉得jQuery源码有哪些写的好的地方
- “无任何网络提供程序接受指定的网络路径”问题的几个解决方法
热门文章
- ue4 培养罐液体效果
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(8月8日~8月14日)...
- pid上限问题,linux进程pid达到最大值,linux进程数最大值修改方法
- shadow:人工智能设计,一门自己生长的课
- spring入参为指定值,校验java入参的值为规定的值,利用Validator指定值校验注解——一看就会
- 1期精彩推荐:如何应对工作中的冲突?
- IM开发基础知识补课(二):如何设计大量图片文件的服务端存储架构?
- win10添加计算机语言,Win10添加语言包报错“0x800F0950”怎么办?
- parse_depend_manifests Could not find dependent assembly LMicrosoft.Windows.Common-Controls
- EPICS S7nodave手册