投影仪标定的几种思路
投影仪标定的几种思路
单相机-投影仪的结构光三维重建系统中,投影仪标定是必不可少的步骤。通常,会将投影仪当作逆向的相机来进行标定。下面将介绍几种投影仪标定方法(以下名称是我自己根据方法原理命名的,大神轻喷)。
- 相位法(精度高、实现较难)
该种方法将投影仪当作逆向的相机模型来进行标定,通过计算投影仪投射的相位信息计算出世界坐标系z=0平面和投影仪“成像平面”之间的关系,具体标定步骤如下:
S1:按照合适的角度固定好相机和投影仪,标定过程中保证二者相对静止;
S2:准备好标定板,可以使用打印的标定板,也可以使用陶瓷标定板;
S3:投影仪关闭,相机拍摄标定板图片;
S4:投影仪投射多频相移图片(投射x方向和y方向的条纹图片),相机同时进行拍摄;
S5:改变系统相对标定板的位姿,重复步骤S3、S4,拍摄>15组的数据;
S6:使用拍摄的标定板图片进行相机标定,获得相机的内外参并保存每个标定板上的角点位置信息;
S7:投影仪标定;
S7.1:处理每组多频相移图片,分别计算出x方向和y方向上的绝对相位图,并将相位图的范围转换到图像行列范围;
S7.2:根据每张图片的角点位置和相位图计算出每个角点对应的投影仪“像点坐标”;
S7.3:根据”像点坐标“-标定板角点世界坐标的对应关系使用相机标定计算投影仪内外参;
S8:已知每次场景下的相机外参和投影仪外参,计算出相机和投影仪之间的相对位姿。
- 投射标定图案法(精度较低、实现较为简单)
该种方法将投影仪当作逆向的相机模型来进行标定,通过让投影仪投射标定图案来建立世界坐标系下z=0平面和投影仪“成像平面”之间的关系,具体标定步骤如下:
S1:按照合适的角度固定好相机和投影仪,标定过程中保证二者相对静止;
S2:将打印好的标定板(棋盘格/圆形阵列)贴到较为平整的白板上;
S3:投影仪关闭,相机拍摄打印的标定板图片;
S4:投影仪打开,将标定图案投射到白板上,相机拍摄投射的标定板图片;
S5:改变系统相对白板的位姿,重复步骤S3、S4,拍摄>15组的数据;
S6:使用拍摄的打印标定板图片进行相机标定,获得相机内外参并保存每个标定板上图案位置信息;
S7:投影仪标定;
S7.1:检测投影标定图案图片上的所有角点信息,并且根据对应的外参计算出所有角点在世界坐标系下的坐标;
S7.2:根据角点-世界坐标的对应关系使用相机标定方法标定投影仪内外参。
S8:已知每次场景下的相机外参和投影仪外参,计算出相机和投影仪之间的相对位姿。
- 八参数标定法(该方法我实现过,但是没有达到论文中说的那种精度)
- 该种方法将投影仪建模为新的模型(从算法原理上看,我个人认为是逆向针孔模型),直接将投影仪的标定简化为8个未知参数的标定,具体标定步骤如下:
S1:按照合适的角度固定好相机和投影仪,标定过程中保证二者相对静止;
S2:准备好标定板,可以使用打印的标定板,也可以使用陶瓷标定板;
S3:投影仪关闭,相机拍摄标定板图片;
S4:投影仪投射多频相移图片(仅投射y方向条纹),相机同时进行拍摄;
S5:改变系统相对标定板的位姿,重复步骤S3、S4,拍摄>15组的数据;
S6:使用拍摄的标定板图片进行相机标定,获得相机的内外参并保存每个标定板上的角点位置信息;
S7:投影仪标定;
S7.1:处理每组多频相移图片,计算出y方向上的绝对相位图;
S7.2:计算出每个位姿下标定板上角点在相机坐标系下的坐标;
S7.3:根据角点位置信息计算出该角点在绝对相位图中的相位值;
S7.4:根据以下公式计算出未知参数a1−a8a_{1}-a_{8}a1−a8;
S8:投影仪的内参即包含在参数a1−a8a_{1}-a_{8}a1−a8中,已知(xc,yc,zc)(x_{c}, y_{c}, z_{c})(xc,yc,zc)、a1−a8a_{1}-a_{8}a1−a8和θ\thetaθ之间的关系,可以计算出该像素点对应的三维坐标(相机坐标系下)。
大家好,我主要的研究方向有:
1)主流的结构光三维测量方法,包括:线扫,格雷码,相移,散斑等;
2)摄像机标定和投影仪标定;
3)点云处理;
4)图像处理;
5)Halcon应用;
6)机器视觉相机选型。
对以上研究方向感兴趣的朋友可以关注我的微信公众号:
投影仪标定的几种思路相关推荐
- 实现在页面上隐藏某个元素的css,有趣的css—隐藏元素的7种思路
display.visibility.opacity三个属性隐藏元素之间的异同点一直是前端面试面试的常考题. 除了display.visibility.opacity三个属性可以隐藏元素之外,是否还存 ...
- display none 隐藏后怎么显示_web前端入门到实战:元素显示隐藏的9种思路
我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴 ...
- 第七篇:使用 CUDA 进行计算优化的两种思路
前言 本文讨论如何使用 CUDA 对代码进行并行优化,并给出不同并行思路对均值滤波的实现. 并行优化的两种思路 思路1: global 函数 在 global 函数中创建出多个块多个线程对矩阵每个元素 ...
- CSS实现垂直居中的5种思路
前面的话 相对于水平居中,人们对于垂直居中略显为难,大部分原因是vertical-align不能正确使用.实际上,实现垂直居中也是围绕几个思路展开的.本文将介绍关于垂直居中的5种思路 line-hei ...
- 两种思路将Python中两个有序数组合并为一个有序数组
第一种思路: 把两个数组合为一个数组然后再排序,问题又回归到冒泡和快排了,没有用到两个数组的有序性. 第二种思路: 循环比较两个有序数组头位元素的大小,并把头元素放到新数组中,从老数组中删掉,直到其中 ...
- 异源遥感图像匹配的一种思路——智箭火眼2020科目三赛题总结
异源遥感图像匹配的一种思路--智箭火眼2020科目三赛题总结 本赛题任务是对光学遥感图像和SAR(合成孔径雷达)图像进行匹配,是智箭火眼2020挑战赛(https://yuanwangfw.com ...
- 【论文阅读】开放域问答论文总结,文本召回与问答的另一种思路
[论文总结]开放域问答,纯文本召回与精排的另一种思路 前言 SCIVER: Verifying Scientific Claims with Evidence 任务介绍 数据样例 开放域问答 Read ...
- 解决Geoserver请求跨域的几种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景描述 跨域问题是浏览器同源安全制引起的特别常见的问题.不同前端语 ...
- Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示...
Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...
最新文章
- vscode怎么设置打开新的文件而不会关闭原来文件
- java反射机制浅谈
- python语句大全input_input提示文字 Python基础输入函数,if-else语句,if-elif
- [js] setTimeout的第三个参数有什么用?
- 【译】谨慎使用CSS中的波浪选择器
- 历史上最有影响力的10款开源项目
- 优必选能开放软硬件源代码吗_四个项目供父母教孩子如何使用开放式硬件和电子产品...
- linq结果转换object_19.07.26 JS 里的数据类型转换amp;普通类型和对象的区别
- html圆形空心选择按钮,CSS3 简单的实心/空心按钮
- java doget 和dopost_Servlet中的doGet和doPost
- get请求是否 csrf认证流程_CORS和CSRF修炼宝典
- tcpdump抓SQL[转]
- 在Globalscape EFT FTP服务器上安装SSL证书的方法
- 共焦显微镜技术原理、参数及其应用
- 简易理解设计模式之:组合模式——实现View中的树状结构
- 如何清理Android应用缓存
- php英语大全,php常用英语单词-音标版
- mysql concat换行_Mysql 的 GROUP_CONCAT() 函数拼接串
- CDH6.3.1安装指南
- Python爬取新冠肺炎疫情实时数据(丁香园)