概述
对于新手来说,使用格雷码做单目结构光三维重建是一个入门级的训练。但是在复现时往往会遇到一个问题,明明解码都很不错了,重建后的点云精度却很低,甚至重建出来的平面点云出现断层现象。这是由于格雷码是一种离散型编码,编码精度是整数级的像素,这种编码设计注定了它的精度不会太高。所以在实际应用中,格雷码通常是配合着其他编码方式一起使用:比如使用格雷码来标示相移的周期数。
尽管如此,由于格雷码本身的特性,稳定性高,抗反光效果比较好,在精度需求不是特别高的情况下,还是有适用场景的。尤其是景深范围大的时候,相位很容易出现模糊,可是对于黑白条纹的格雷码适应的景深就能够大一些。本文就简单介绍下如何使用纯格雷码进行三维重建,并得到一个精度尚可的点云(至少不出现重建平面时明显断层/分层现象)。
从解决问题的本身出发,想要得到一个精度比较不错的点云,最直观的思路是解码时得到一个准确的亚像素级精度,比如像相移那样,但是对于格雷码而言,很难去给出一个很好的插值函数去获得一个亚像素级的匹配,实际上,如果以图片某一行为例,你得到的解码结果可能是 16,16,17,17,18,18,18,NaN,NaN,21… 对于这样排列的解码结果,想要用一个函数去定义亚像素的插值函数是一件很困难的事情,笔者暂时没有看到哪篇文章提供了好的思路。(如果有读者知道,欢迎和笔者沟通)。
最后
以上就是淡淡豆芽为你收集整理的系列篇|三维重建之纯格雷码三维重建的全部内容,希望文章能够帮你解决系列篇|三维重建之纯格雷码三维重建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复