原论文:Joint Texture and Geometry Optimization for RGB-D Reconstruction (CVPR2020)
github链接:JointTG
首先下载代码
安装项目需要的环境
gcc (5.4.0)
OpenCV (2.4.10)
Eigen (>3.0)
Flann (1.9.1)
项目主页是这么写的,但是跑程序的时候发现opencv需要的是3.4版本,giuhub主页写错了。
我们避开了项目代码的第一个坑
我的实际环境如下:
gcc (7.5.0)
OpenCV (3.4.10)
Eigen (3.3.4)
Flann (1.9.1)
这几个都比较好装,需要教程的自行百度
运行代码时发现第二个坑,错误提示为
./JointTG: error while loading shared libraries: libJointTexGeo.so.1: cannot open shared object file: No such file or directory
项目需要的lib文件没有包含在指定库目录中,在终端输入
export LD_LIBRARY_PATH=/home/yuenlin/Documents/JointTG/lib:$LD_LIBRARY_PATH
这里的路径是我自己的,需要根据自己的路径修改
然后我又发现还是报错
./JointTG: error while loading shared libraries: /home/yuenlin/Documents/JointTG/lib/libJointTexGeo.so.1: file too short
似乎是因为软链接的问题,但是我用终端命令ll
查看lib文件夹,没看到有哪个文件是软链接啊???
于是我又迷惑了,看着不是软链接文件为什么会出现file too short的报错呢,后来了解到too short的意思是使用的库文件大小比实际链接库的大小要小很多(链接失效),所以会导致报错。
我就查看了一下前四个文件的大小,果不其然,前三个文件都是23kb,最后一个是63386856kb,那么就很明显了,前三个是失效的软链接,只有最后一个才是实际链接库
所以把前面几个失效链接删除,再重新链接起来
ln -s libJointTexGeo.so.1.0.0 libJointTexGeo.so.1.0
ln -s libJointTexGeo.so.1.0.0 libJointTexGeo.so.1
ln -s libJointTexGeo.so.1.0.0 libJointTexGeo.so
终端命令ll
效果如下
前三个的样式是软链接的样子,最后一个是实体文件
标题踩完三个坑之后,程序终于跑通了!!!
最后效果如下:
CCviewer打开查看