3D-Reconstruction-Share
2016/9/22
1.先找双目视觉的有关资料,有几种方式,都做到了什么程度,综述
2.根据查的资料,深入了解一种方法,对其进行实现,然后改进,进行提高
3.应用测试,发现问题,尝试改进
2016/9/25
我认为接下来,之前所说的建筑物的三维重建可以分两种情况来考虑:
1.在面对较小建筑物的时候,比如一些古建筑物的修复重建,我们可以采用KinectFusion的方案
2.在面对一些较大的建筑物,我们可以采用无人机拍摄多幅图像来进行重建。
2016/10/9
之前主要看了一些论文
我们接下来是需要用那个图漾科技的摄像头,把3D云点图搞出来。
今天,把下面的callback给尝试运行了下
所用时间大概两个小时不到。
在新建了一个项目之后,把里面的.cpp还有.h文件添加到项目中去,然后我最不熟悉的是如何添加关于.lib还有.dll的依赖关系。
其实,幸亏之前添加过opencv的一些dll,了解了一些,但是这个不一样的是,我们不需要改整个编译器的属性,我们只需要添加关于这个项目的一些就好了。
总共要改三个地方,同时要注意到release还有debug是不一样的,还需要我们分别去配置。
2016/10/10
在昨天成功搞出了那个程序之后,我认为,既然程序成功显示出了景深的相关信息,那么,我们就可以从程序中寻找构建点云图的方法。
2016/10/11
今天的话,继续突破的点在哪里呢?
首先,我想思考下,现在存在的几个问题:
1.图漾科技的摄像头输出的数据不太会去调用
2.在数据得到之后,如何作出三维的模型
解决的方法:
1.继续研究提供的例程代码,了解模块输出的数据格式,学会如何调用
2.在有了数据进行三维重建方面,我认为有两个方法:其一,可以继续学习KinectFusion的论文,以及它在github上的开源项目代码。其二,可以尝试谷歌最近开源的SLAM算法,可能可以从中得到一些启发。
http://blog.csdn.net/chenyusiyuan/article/details/5680518
现在,我们能够获得的点云图,大概也就这种形式了吧,所以说效果还是很不好的
21:00
运行了PercipioTool所提供的三维重建点云图工具,得到了如下的效果:
其实,效果还可以。主要问题就是,他没有像KinectFusion项目那样,能够一步步把图像变的更加精细,清楚。
我看了下它所调用的dll,主要用到的环境有vtk,opencv,openNI,pcl,qt这几个环境
2016/10/16
现在呢,在KinectFusion做到这么好的程度以后,主要往两方面发展:
1.之前的KinectFusion是限制在一个立方体内的,就是受到一定的体积限制,现在就是尝试如何突破这个体积限制
2.在KinectFusion项目中,其实它做出来的很多效果是丢失了三维重建的很多细节的,因此为了更好地还原这些细节,现在正在尝试结合RGB图像、shade等等获取得到更加丰富的信息,从而做的更加精细。
今天我所需要做的是什么呢?
来搞懂这个摄像头的调用吧
看了图漾科技论坛上面的内容
http://bbs.percipio.xyz/viewtopic.php?f=5&t=107
2016/10/18
我现在,应该尝试自己建一个工程然后去调用摄像头的数据。
发现,可能之前为什么老是加载dll那么慢,原因主要是开了windows的符号服务器,也许是只要加载几次就可以了吧,以后可能就有缓存什么的了。
遇到一个问题
解决方案:
2016/10/19
今天主要是,如何生成三维点云。
可能这个有一定的参考价值:
http://www.cnblogs.com/JohnShao/archive/2011/05/22/2053496.html
关于相机的内参外参的问题
http://blog.csdn.net/liyuan123zhouhui/article/details/52043683
总结一下,今天应该还算是不错的,搞懂了代码所调用的摄像头数据到底是在哪里,然后用了什么函数去把他转化一下,可以让OpenCV可以显示出来的
2016/10/20
ü照理说,里面都有三维点云的代码了,那么我们该如何调用呢?
至少,让它输出吧。
üCL点云库感觉是必须学得啊
这边PCL还有VTK,OpenNI之类的关系比较复杂
总结
今天做的东西还是相对令我满意的,主要是完成了PCL整体环境的搭建,搭建的方法呢,其实不是很难,只需要在属性里面,加一些目录啦,依赖关系什么的就行了,其实和之前的OpenCV基本差不多。