zoukankan      html  css  js  c++  java
  • opencv 4.0 + linux + cuda静态编译

    #下载最新的opencv

    git clone "https://github.com/opencv/opencv.git"

    git clone "https://github.com/opencv/opencv_contrib.git"

    #定义自己的生成目录
    mkdir 20190509_cuda
    mkdir -p opencv-master/build_cuda
    cd opencv-master/build_cuda

    #生成配置的时候选择带上opencv-contrib

    #  注意 -DCUDA_CUDA_LIBRARY= 这个一定要加,这个是配置项的一个BUG,只能从这里绕过去。地址是cuda库中libcuda.so的绝对路径

    cmake -DOPENCV_EXTRA_MODULES_PATH=/home/admin/opencv/opencv_contrib-master/modules -DCUDA_CUDA_LIBRARY=/usr/local/cuda-9.0/lib64/stubs/libcuda.so -DCMAKE_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/ ..

    #执行ccmake,配置编译选项

    ccmake ..

    #按t,切换进入高级模式

    #主要修改的配置项如下:

      1 //Build CUDA modules stubs when no CUDA SDK
      2 BUILD_CUDA_STUBS:BOOL=OFF
      3 
      4 //Create build rules for OpenCV Documentation
      5 BUILD_DOCS:BOOL=OFF
      6 
      7 //Build all examples
      8 BUILD_EXAMPLES:BOOL=OFF
      9 
     10 //Create Java wrapper exporting all functions of OpenCV library
     11 // (requires static build of OpenCV modules)
     12 BUILD_FAT_JAVA_LIB:BOOL=OFF
     13 
     14 //Build IPP IW from source
     15 BUILD_IPP_IW:BOOL=OFF
     16 
     17 //Build Intel ITT from source
     18 BUILD_ITT:BOOL=OFF
     19 
     20 //Build libjasper from source
     21 BUILD_JASPER:BOOL=OFF
     22 
     23 //Enable Java support
     24 BUILD_JAVA:BOOL=OFF
     25 
     26 //Build libjpeg from source
     27 BUILD_JPEG:BOOL=OFF
     28 
     29 //Build openexr from source
     30 BUILD_OPENEXR:BOOL=OFF
     31 
     32 //Build performance tests
     33 BUILD_PERF_TESTS:BOOL=OFF
     34 
     35 //Build libpng from source
     36 BUILD_PNG:BOOL=OFF
     37 
     38 //Force to build libprotobuf from sources
     39 BUILD_PROTOBUF:BOOL=OFF
     40 
     41 //Build shared libraries (.dll/.so) instead of static ones (.lib/.a)
     42 BUILD_SHARED_LIBS:BOOL=OFF
     43 
     44 //Download and build TBB from source
     45 BUILD_TBB:BOOL=OFF
     46 
     47 //Build accuracy & regression tests
     48 BUILD_TESTS:BOOL=OFF
     49 
     50 //Build libtiff from source
     51 BUILD_TIFF:BOOL=OFF
     52 
     53 //Build WebP from source
     54 BUILD_WEBP:BOOL=OFF
     55 
     56 //Include debug info into release binaries ('OFF' means default
     57 // settings)
     58 BUILD_WITH_DEBUG_INFO:BOOL=OFF
     59 
     60 //Enables dynamic linking of IPP (only for standalone IPP)
     61 BUILD_WITH_DYNAMIC_IPP:BOOL=OFF
     62 
     63 //Build zlib from source
     64 BUILD_ZLIB:BOOL=OFF
     65 
     66 //Include opencv_face module into the OpenCV build
     67 BUILD_opencv_face:BOOL=OFF
     68 
     69 //Include opencv_highgui module into the OpenCV build
     70 BUILD_opencv_highgui:BOOL=OFF
     71 
     72 //Include opencv_java_bindings_generator module into the OpenCV
     73 // build
     74 BUILD_opencv_java_bindings_generator:BOOL=OFF
     75 
     76 //Include opencv_xfeatures2d module into the OpenCV build
     77 BUILD_opencv_xfeatures2d:BOOL=OFF
     78 
     79 //Choose the type of build, options are: None Debug Release RelWithDebInfo
     80 // MinSizeRel ...
     81 CMAKE_BUILD_TYPE:STRING=Debug
     82 
     83 //Installation Directory
     84 CMAKE_INSTALL_PREFIX:PATH=/home/admin/opencv/2019-05-09_cuda
     85 
     86 //"cudart" library
     87 CUDA_CUDART_LIBRARY:FILEPATH=/usr/local/cuda/lib64/libcudart.so
     88 
     89 //Path to a program.
     90 CUDA_NVCC_EXECUTABLE:FILEPATH=/usr/local/cuda/bin/nvcc
     91 
     92 //Path to a file.
     93 CUDA_TOOLKIT_INCLUDE:PATH=/usr/local/cuda/include
     94 
     95 //Toolkit location.
     96 CUDA_TOOLKIT_ROOT_DIR:PATH=/usr/local/cuda
     97 
     98 //Use the static version of the CUDA runtime library if available
     99 CUDA_USE_STATIC_CUDA_RUNTIME:BOOL=ON
    100 
    101 //Enable ADE framework (required for Graph API module)
    102 WITH_ADE:BOOL=OFF
    103 
    104 //Include Aravis GigE support
    105 WITH_ARAVIS:BOOL=OFF
    106 
    107 //Include NVidia Cuda Runtime support
    108 WITH_CUDA:BOOL=ON
    109 
    110 //Include Intel Inference Engine support
    111 WITH_INF_ENGINE:BOOL=OFF
    112 
    113 //Include Intel IPP support
    114 WITH_IPP:BOOL=OFF
    115 
    116 //Include Intel ITT support
    117 WITH_ITT:BOOL=OFF
    118 
    119 //Include JPEG2K support
    120 WITH_JASPER:BOOL=OFF
    121 
    122 //Include JPEG support
    123 WITH_JPEG:BOOL=OFF
    124 
    125 //Include Lapack library support
    126 WITH_LAPACK:BOOL=OFF
    127 
    128 //Include NVidia Video Decoding library support
    129 WITH_NVCUVID:BOOL=ON
    130 
    131 //Include PNG support
    132 WITH_PNG:BOOL=OFF
    133 
    134 //Enable libprotobuf
    135 WITH_PROTOBUF:BOOL=OFF
    136 
    137 //Include Intel TBB support
    138 WITH_TBB:BOOL=OFF
    139 
    140 //Include TIFF support
    141 WITH_TIFF:BOOL=OFF
    142 
    143 //Include Vulkan support
    144 WITH_VULKAN:BOOL=OFF
    145 
    146 //Include WebP support
    147 WITH_WEBP:BOOL=OFF

    make -j 20

    make install

     =============================

    2019-05-10补充:

    //Build openexr from source
    BUILD_OPENEXR:BOOL=ON

    //Include ILM support via OpenEXR
    WITH_OPENEXR:BOOL=ON

    以上两项要打开,否则链接程序的时候出现大量如下错误:

    /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:250: undefined reference to `Im
    f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
    /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:252: undefined reference to `Im
    f::FrameBuffer::insert(char const*, Imf::Slice const&)'
    /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:257: undefined reference to `Im
    f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
    /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:259: undefined reference to `Im
    f::FrameBuffer::insert(char const*, Imf::Slice const&)'
  • 相关阅读:
    Appium介绍
    selenium2支持无界面操作(HtmlUnit和PhantomJs)
    selenium让人摸不着头脑的问题
    页面加载时间过长
    Selenium Test 自动化测试 入门级学习笔记
    Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
    Selenium执行测试脚本稳定性的一些经验分享交流
    怎么等待页面元素加载完成
    如何智能的等待页面加载完成
    filezilla安装
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/10839495.html
Copyright © 2011-2022 走看看