文章链接:Seamless Texture Optimization for RGB-D Reconstruction

Github链接:fdp0525/SeamlessTex

采坑准备

  1. 安装ceres1.14,cmake编译的时候需要注意使用如下代码,否则不生成动态链接库文件
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/ceres1.14 -D BUILD_SHARED_LIBS=ON ..
  1. 安装opencv2.4.10:之前的博客->opencv2.4.10+ubuntu18安装

  2. 还需要安装qt。安装教程百度即可,需要3个多G的空间
    (为什么需要qt?因为作者提供的可执行文件有bug,需要重新编译)代码最大的坑

  3. 需要安装cuda10.1,安装指南百度即可,也很简单

采坑指南开始!!!

第一步:链接库配置

进入下载好的代码文件夹,进入bin文件夹

ldd seamlessFinalVersion

这条命令是查看项目的可执行文件需要的链接库,是否齐全,正确结果应该是

 linux-vdso.so.1 (0x00007ffcc2baa000)libopencv_core.so.2.4 => /usr/local/opencv2410/lib/libopencv_core.so.2.4 (0x00007f460bbdb000)libopencv_highgui.so.2.4 => /usr/local/opencv2410/lib/libopencv_highgui.so.2.4 (0x00007f460b98c000)libopencv_imgproc.so.2.4 => /usr/local/opencv2410/lib/libopencv_imgproc.so.2.4 (0x00007f460b49a000)libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f460b222000)libtbb.so.2 => /usr/lib/x86_64-linux-gnu/libtbb.so.2 (0x00007f460afe6000)libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f460ada3000)libceres.so.1 => /usr/local/lib/libceres.so.1 (0x00007f460a8f0000)libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f460a688000)libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f460a456000)libglog.so.0 => /usr/lib/x86_64-linux-gnu/libglog.so.0 (0x00007f460a225000)libfftw3.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3.so.3 (0x00007f4609e23000)libcudart.so.10.1 => /usr/local/cuda/lib64/libcudart.so.10.1 (0x00007f4609ba7000)libQt5Gui.so.5 => /opt/Qt5.12.6/5.12.6/gcc_64/lib/libQt5Gui.so.5 (0x00007f460935a000)libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f460913b000)libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4608d2e000)libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4608990000)libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4608778000)libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4608387000)libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f460816a000)librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4607f62000)libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007f4607d0c000)libIlmImf-2_2.so.22 => /usr/lib/x86_64-linux-gnu/libIlmImf-2_2.so.22 (0x00007f4607848000)libHalf.so.12 => /usr/lib/x86_64-linux-gnu/libHalf.so.12 (0x00007f4607605000)libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007f4606fc3000)libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007f4606d0e000)libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f4606aba000)libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f46067a3000)libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f4606468000)libgstapp-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f4606259000)libgstriff-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstriff-1.0.so.0 (0x00007f460604b000)libgstpbutils-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f4605e13000)libdc1394.so.22 => /usr/lib/x86_64-linux-gnu/libdc1394.so.22 (0x00007f4605b9d000)libv4l1.so.0 => /usr/lib/x86_64-linux-gnu/libv4l1.so.0 (0x00007f4605997000)libv4l2.so.0 => /usr/lib/x86_64-linux-gnu/libv4l2.so.0 (0x00007f4605788000)liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f4605562000)libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f4605354000)libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4605150000)libspqr.so.2 => /usr/lib/x86_64-linux-gnu/libspqr.so.2 (0x00007f4604f25000)libcholmod.so.3 => /usr/lib/x86_64-linux-gnu/libcholmod.so.3 (0x00007f4604c4f000)liblapack.so.3 => /usr/lib/x86_64-linux-gnu/liblapack.so.3 (0x00007f46043b1000)libblas.so.3 => /usr/lib/x86_64-linux-gnu/libblas.so.3 (0x00007f4604144000)libcxsparse.so.3 => /usr/lib/x86_64-linux-gnu/libcxsparse.so.3 (0x00007f4603f19000)libgflags.so.2.2 => /usr/lib/x86_64-linux-gnu/libgflags.so.2.2 (0x00007f4603cf4000)libunwind.so.8 => /usr/lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f4603ad9000)/lib64/ld-linux-x86-64.so.2 (0x00007f460c807000)libQt5Core.so.5 => /opt/Qt5.12.6/5.12.6/gcc_64/lib/libQt5Core.so.5 (0x00007f460333e000)libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f46030b2000)libIex-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIex-2_2.so.12 (0x00007f4602e94000)libIlmThread-2_2.so.12 => /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12 (0x00007f4602c8d000)libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f4602a89000)libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f460287c000)libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f4602544000)libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f460233e000)libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f4602118000)libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f4601dfb000)libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f4601bd7000)libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f4601838000)libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f4601622000)libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f46013d5000)libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f4601190000)libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f4600f86000)libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f4600d83000)libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f4600b73000)libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f4600968000)libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f460075e000)libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f460055b000)libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f4600358000)libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f4600146000)libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f45fff3e000)libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f45ffccd000)libgstbase-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f45ffa58000)libgstaudio-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f45ff7e3000)libgsttag-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f45ff5a8000)libgstvideo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f45ff30f000)libraw1394.so.11 => /usr/lib/x86_64-linux-gnu/libraw1394.so.11 (0x00007f45ff100000)libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f45feee8000)libv4lconvert.so.0 => /usr/lib/x86_64-linux-gnu/libv4lconvert.so.0 (0x00007f45fec6e000)libsuitesparseconfig.so.5 => /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5 (0x00007f45fea6b000)libamd.so.2 => /usr/lib/x86_64-linux-gnu/libamd.so.2 (0x00007f45fe862000)libcolamd.so.2 => /usr/lib/x86_64-linux-gnu/libcolamd.so.2 (0x00007f45fe65b000)libccolamd.so.2 => /usr/lib/x86_64-linux-gnu/libccolamd.so.2 (0x00007f45fe451000)libcamd.so.2 => /usr/lib/x86_64-linux-gnu/libcamd.so.2 (0x00007f45fe247000)libmetis.so.5 => /usr/lib/x86_64-linux-gnu/libmetis.so.5 (0x00007f45fdfd9000)libgfortran.so.4 => /usr/lib/x86_64-linux-gnu/libgfortran.so.4 (0x00007f45fdbfa000)libicui18n.so.56 => /opt/Qt5.12.6/5.12.6/gcc_64/lib/libicui18n.so.56 (0x00007f45fd761000)libicuuc.so.56 => /opt/Qt5.12.6/5.12.6/gcc_64/lib/libicuuc.so.56 (0x00007f45fd3a9000)libicudata.so.56 => /opt/Qt5.12.6/5.12.6/gcc_64/lib/libicudata.so.56 (0x00007f45fb9c6000)libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f45fb7c4000)libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f45fb593000)libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f45fb2dd000)libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f45fb029000)libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f45fae01000)libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f45fab5c000)libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f45fa959000)libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f45fa74c000)libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f45fa524000)libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f45fa30a000)libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f45fa0b6000)libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f45f9e18000)libthai.so.0 => /usr/lib/x86_64-linux-gnu/libthai.so.0 (0x00007f45f9c0f000)libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f45f99dd000)liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f45f9761000)libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f45f9543000)libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f45f92fc000)libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f45f90f8000)libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f45f8ef2000)libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f45f8ca5000)libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f45f8a78000)libdatrie.so.1 => /usr/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f45f8871000)libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f45f865c000)libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f45f8455000)

如果有哪一条显示not found!!!那么说明没有安装,或者链接位置不对

libIlmImf.so.7 => not found
libHalf.so.6 => not found

如果显示这两条,那么应该是链接位置不对,因为这几个都是ubuntu系统默认安装的库,所以需要找到正确位置然后链接过去,如果有其他显示not found,可能是没有装全。

终端依次输入下列两条命令,找到文件所在位置

sudo find / -name libIlmImf.so
sudo find / -name libHalf.so

有一个路径是/usr/lib下的,我的是/usr/lib/x86_64-linux-gnu/libIlmImf.so

sudo ln -s /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIlmImf.so.7
sudo ln -s /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libHalf.so.6

这两行指令代表生成了一个链接,名为libIlmImf.so.7,指向libIlmImf.so,其实就是一个文件,有两个名字。
再次运行ldd seamlessFinalVersion,没有出现not found的链接库了。

第二部:Qt编译配置

打开seamlessFinalVersion.pro文件,确认一下282行的INCLUDEPATH是否对应你安装的opencv位置

如果你的opencv安装位置不是默认位置,那么需要修改,并且下一行的LIBS需要添加额外代码,-L代表指定搜索地址

最后把LIBS += -ltiff -ltbb -lgomp -lceres 这一行改为LIBS += -ltiff -ltbb -lgomp -lceres -ljpeg -lpng16

我这一段修改之后是这样的

INCLUDEPATH += /usr/include/eigen3 /usr/local/include
INCLUDEPATH += /usr/local/opencv2410/includeLIBS +=  -L/usr/local/opencv2410/lib/ -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videostabLIBS += -ltiff -ltbb -lgomp -lceres -ljpeg -lpng16
LIBS += -lglogINCLUDEPATH += /usr/include/OpenEXRLIBS += -lfftw3 -lIlmImf -lHalf

Release模式编译,出现图片结果即为编译成功

第三步:运行

进入编译生成可执行文件的位置

./seamlessFinalVersion [bloster文件夹位置]  [bloster.ply文件位置]


运行成功!!!!!!!!!!!!!!!!!!!!!!!!!!

RGBD三维重建——SeamlessTex运行环境配置(采坑指南)相关推荐

  1. Flutter之Android Studio环境配置采坑记录

    Flutter之Android Studio环境配置 IDE和SDK的安装 Device配置 AVD Genymotion 安装 ADB设置 AS中安装Genymotion插件 踩坑记录 IDE和SD ...

  2. 深度学习环境配置避坑-CUDA11.0+DGL1.8

    深度学习环境配置避坑-CUDA11.0+DGL1.8 参考教程 坑1:CUDA版本与GPU型号不符 参考教程 之前已经写过详细的CUDA+Pytorch+DGL安装博文了,Linux系统可参考这里,W ...

  3. Node-RED使用指南:6:配置与设定总结:运行环境配置

    在前一篇文章中通过设定settings.js文件,配置出了Node-RED的管理员登录页面,这篇文章将就Node-RED的配置和设定的运行环境配置部分进行总结. 配置文件 配置文件从哪里读出来,实际上 ...

  4. SAR成像处理软件运行环境配置(AGX平台)

    1. AGX简介 本文档重点介绍在AGX开发平台上,部署SAR成像处理相关的软件.AGX的相关信息可以参考下面的文档. AI 助力的大批自主机器 | NVIDIA Jetson AGX Xavier具 ...

  5. java安装及运行环境配置

    本文将讲解java的安装以及相关运行环境的配置. 安装 安装包可以去官网下载.版本尾号为偶数一般为测试版本,所以推荐下载奇数尾数安装包. ​ 安装界面,一直下一步即可. ​ 安装路径设置,如果为节省c ...

  6. Asymptote 的编译安装与运行环境配置

    简介 Asymptote 是一种支持二维与三维绘图并且对 TeX 非常友好的科学绘图编程语言. 从 Asymptote svn 仓库迁出源码 $ svn co http://asymptote.svn ...

  7. Hi3861开发环境搭建 ||避坑指南|| [适用于几乎所有以Hi3861为主控的开发板]

    Hi3861开发环境搭建 ||避坑指南|| [适用于几乎所有以Hi3861为主控的开发板] 前言: 这几天为了搭建Hi3861的开发环境,看了不少官方文档和视频,但是依然折腾了很久才配置好编译.上传都 ...

  8. pytracking框架 服务器端配置采坑(ubuntu18.04+cuda11.3)

    首先附上github链接,里面其实有比较详细的安装教程了,不过完全照做会有些小坑 GitHub - visionml/pytracking: Visual tracking library based ...

  9. android 人品测试,Android单元测试环境搭建采坑记录

    添加依赖 android { defaultConfig { testInstrumentationRunner "android.support.test.runner.AndroidJU ...

最新文章

  1. Java多线程中的Runnable和Thread
  2. 解决安装pytorch慢的方法(pip安装)
  3. Counting Bits
  4. C++右值引用与转移语义
  5. LeetCode之Power of Two
  6. 【转】前端进阶之路:如何高质量完成产品需求开发
  7. 开发时浏览器缓存问题
  8. p4n 今天与朋友沟通支付云服务普及以及跨境电子商务的光辉前景
  9. [转]Redis几个认识误区
  10. 微信小程序,模板+按钮+绑定事件
  11. 供应商太多,怎么才能高效比价?
  12. 【quick-cocos2d-lua】 疯狂牛牛
  13. 任务管理器已被管理员停用 解决方法
  14. web项目js调用斑马打印机打印二维码
  15. SC2Rank 星际2天梯排行榜 SpringMVC + Spring + Mybatis + Mysql + Maven java web项目
  16. win10照片打不开,解决方法
  17. [乐意黎原创]PHP抛PHP Startup:Unable to load dynamic library bcmath,Libmcrypt,mhash,mcrypt等警告及模块动态安装详解
  18. iPhone尺寸规格
  19. VOS3000客户端实现外呼主叫号码隐藏(隐号)
  20. 100以内奇数的和java_Java 求0-100奇数和

热门文章

  1. 开发常用英语单词表格
  2. 0672-5.16.1-CDSW中Run Experiments异常分析
  3. 深度学习(10)ablation experiments
  4. 如何去除BootStrap栅格系统默认的15px的padding
  5. 测试人员Testlink初级使用教程
  6. 淘宝店铺怎么上第四层级?有哪些技巧?
  7. 使用PHP提取视频网站页面中的FLASH地址
  8. Spring AOP 切面@Around注解的具体使用
  9. HTML5 Web Audio Api-2 发声oscillator
  10. 科技兴盛下,传统银行该如何转型?