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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM