zoukankan      html  css  js  c++  java
  • opencv vtk安装

    转自:https://blog.csdn.net/dell5200/article/details/81142951

    由于想要使用opencv VIZ,VTK作为其依赖库需要被安装。

    VTK安装基本要求:

    VTK 支持的 C++11 编译器:
    Microsoft Visual Studio 2013 or newer
    gcc 4.8.3 or newer
    Clang 3.3 or newer
    Apple Clang 5.0 (from Xcode 5.0) or newer
    Intel 14.0 or newer


    VTK 支持的操作系统:
    Windows Vista or newer
    Mac OS X 10.7 or newer
    Linux (ex: Ubuntu 12.04 or newer, Debian 4 or newer)

    下载:

        官方下载地址 https://www.vtk.org/download/,下载所需版本后解压即可。

    配置:

        在解压目录下新建build, 在其中使用ccmake配置参数 。

        1. 安装ccmake 和 VTK 的依赖项:

        sudo apt-get install cmake-curses-gui
         
        sudo apt-get install freeglut3-dev

        2. 配置VTK:

        cd /home/Username/Download/VTK
        mkdir build
        cd build
        ccmake ..

           主要配置选项:

        # 按照VTK tutorial要求,每设置完一项均按'c'进行一次configuration,直到所有项目设置完,
         
        BUILD_SHARED_LIBS = ON   
         
        BUILD_TESTING = ON    # 默认OFF,如果打开的话,编译时会由于下载测试数据所用url过旧而报错,建议OFF
         
        CMAKE_BUILD_TYPE = Release    # 默认Debug运行会较慢
         
        CMAKE_INSTALL_PREFIX = /usr/local    # 这里用默认就行,或者改到想要安装的位置
         
        # 以下为高级设置,需先在命令行按't'才可见
        VTK_FORBID_DOWNLOADS = ON    # 默认OFF,建议打开,否则编译会报错,理由同BUILD_TESTING
         
        # 此时应已经出现'g' generating 的按键选项,按 'g' 即完成配置.

         3. 安装VTK:(会需要挺长时间)

        cmake .
         
        make
         
        sudo make install

          4. 重装OpenCV:(不需要删掉原有的 /build 文件夹)

        cd /...Path to OpenCV build.../build
         
        cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local –D WITH_VTK=ON -D ENABLE_CXX11=YES ..
         
        # make 时可能会出现一些C++版本的warning,不过影响结果
        make
         
        sudo make install

     

    错误处理

        安装时可能会报错,报错内容记录如下:

        a. CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR)

         实际上VTK并不需要OpenGL作为前提条件,所以不用安装OpenGL,只要安装如下软件包即可:

    sudo apt-get install freeglut3-dev

        b. CMake Error at /Users/sean/external/VTK/CMake/ExternalData.cmake:1005 (message):
      Object MD5=72b1784f9998d7bfb2f7bebf1b9b7870 not found at: (No ExternalData_URL_TEMPLATES given

        这是由于配置阶段开启了BUILD_TESTING,关闭了VTK_FORBID_DOWNLOADS的选项所致,按照上文给定的配置参数重新配置安装即可。

        c. 在安装好VTK后,编译OpenCV时需要加上-D WITH_VTK = ON,但编译时出现error: 'nullptr' was not declared in this scope

        这是make时报的与编译器相关的问题,通过在OpenCV进行cmake时加入 -D ENABLE_CXX11=YES 的设置即可。

        d. 如果再安装完 VTK 并重新安装完OpenCV后运行程序时报错: "libopencv_viz.so.3.4: cannot open shared object file: No such file or directory", 这是由于安装位置和编译器默认位置不一致导致,所以需要重新设置路径。方法如下:

        ①如下命令找到文件所在地,如果找不到说明没有成功安装

        sudo find / -name "libopencv_core.so.3.4"
         
        # 会有几个输出,需要的输出如下
        # /usr/local/lib/libopencv_core.so.3.4

        ② 在 /etc/ld.so.conf.d 文件夹下使用如下命令创建 opencv.conf 文件,将上面找到文件路径拷到文件中,例如:/usr/local/lib/libopencv_core.so.3.4

    sudo gedit opencv.conf

        ③ 更新设置

    sudo ldconfig -v

        接下来重新编译测试程序,应该能够正确运行。

     

    参考链接:

    1. https://gitlab.kitware.com/vtk/vtk

    2. https://stackoverflow.com/questions/31170869/cmake-could-not-find-opengl-in-ubuntu

    3.  https://stackoverflow.com/questions/23559925/how-do-i-use-install-viz-in-opencv

    4. http://vtk.1045678.n5.nabble.com/I-got-problem-please-anybody-help-me-td5740807.html  (David E DeMarle 的回答)

    5. https://stackoverflow.com/questions/12335848/opencv-program-compile-error-libopencv-core-so-2-4-cannot-open-shared-object-f

    6. https://www.vtk.org/pipermail/vtk-developers/2017-October/035517.html
    ————————————————
    版权声明:本文为CSDN博主「一卷仙尘」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dell5200/article/details/81142951

  • 相关阅读:
    Tensorflow2(预课程)---7.5、cifar10分类-层方式-卷积神经网络-VGG16
    卷积神经网络之AlexNet
    上传大型视频文件到服务器的控件
    上传大型视频文件到服务器的组件
    上传大型视频文件到服务器的工具
    Nginx上传大型视频文件到服务器,解决方案
    百度WebUploader上传大型视频文件到服务器,解决方案
    WebUploader上传大型视频文件到服务器,解决方案
    html5上传大型视频文件到服务器,解决方案
    jquery上传大型视频文件到服务器,解决方案
  • 原文地址:https://www.cnblogs.com/excellentlhw/p/12072656.html
Copyright © 2011-2022 走看看