前言:标定工作只会对3D重建效果存在影响,不会导致该工作无法进行下去(因为实在标定不来,就参考使用iai_kinect2项目中存放的别人相机的参数。)
描述
本人的标定工作是在ubuntu16.04系统,kinetic版本ros,参考使用GitHub上的iai_kinect2开源项目进行的。该项目是一个基于ros的功能包,因此想要进行该工作对于还没接触linux以及ros的人来说可能会有一点麻烦,但如果有人方便的话,倒不妨一用,具体使用方法就参考他们的安装教程了。其次,由于kinect的红外相机可以理解为一个加了红外滤镜的普通相机,一定程度上,利用平常的相机标定流程也是可以走通的(加上彩色相机的话无非就理解为双目相机了)。
FAQ
- 如果仅利用这个功能包进行标定工作,gpu加速方面就不用过多在意,能装上就装,装不上就不用太在意。
- 编译功能包时报错,编译失败。我遇到这个问题是因为kinetic默认使用的是opencv3,而iai_kinect2功能包则是使用的opencv2(在其描述中可以看到),因此而报错,我目前的解决方法是将 iai_kinect2/kinect2_registration/CMakeLists.txt的66行删掉。(参考的此文章)。
- 如果标定板是自己打印的纸张的话,需要注意得使用墨粉打印而不能使用墨汁(墨粉可以吸收kinect投射出来的红外光栅,墨汁不行),同样自己买的标定板也得有吸收红外线的要求。
- 安装功能包后,最好将其devel/setup.bash文件路径添加到~/.bashrc 文件后面,避免在重启后找不到该功能包,就像这样
- 安装freenectlib2时,如果不太了解catkin_make的话,就照着教程上的路径安装,这样就可以省去下图这一步