安装OpenCV

安装opencv

  1. 下载opencv,下载opencv_contrib
    注意:
    2.x版本无contrib;
    opencv与opencv_contrib版本号应相同;
  2. 解压两文件,并将后者放入前者内;
  3. 安装依赖项:
    sudo apt-get install build-essential 
    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    
    # for cv2.x,若不执行下面命令,可能出现<linux/videodev.h> not found错误
    sudo apt-get install libv4l-dev
    sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
    
  4. 安装
    1. 安装3.x/4.x

      cd opencv-3.4.0
      mkdir build
      cd build
      cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/cv/cv3_4_0 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.0/modules ..
      #后面“../opencv_contrib-3.4.0/modules”为你opencv_contrib的modules文件夹所在的路径
      # 4.x 默认不生成opencv.pc,因此再添加 -D OPENCV_GENERATE_PKGCONFIG=ON
      sudo make -j$(nproc)
      # 若make报错: 
      #                         fatal error: stdlib.h: 没有那个文件或目录 #include_next <stdlib.h>
      # 则重新执行cmake,并在cmake命令中添加
      #                        -DENABLE_PRECOMPILED_HEADERS=OFF
      sudo make install
      
    2. 安装2.x

      cd opencv-2.4.13
      mkdir build
      cd build
      #根据需要选择ON或OFF
      cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/cv/cv2_4_13   -D WITH_FFMPEG=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF ..
      # WITH_CUDA=ON时,设置-D CUDA_nppi_LIBRARY=true
      #或使用gui进行配置:
      #cmake-gui ..
      #把WITH-CUDA和BUILD_opencv_gpu选项去掉打钩,然后依次点Configure和Generate按钮生成Configure文件
      
      1. cmake报错:CMake Warning at cmake/OpenCVPackaging.cmake:23 (message):
        CPACK_PACKAGE_VERSION does not match version provided by version.hpp header!
        • 在opencv-2.4.13.6/modules/core/include/opencv2/core打开version.hpp文件,记下其中的版本号。
        • 在opencv-2.4.13.6/cmake文件夹下打开OpenCVPackaging.cmake文件,在if (NOT "${OPENCV_VCSVERSION}" MATCHES "^${OPENCV_VERSION}.*")之前添加以下代码:set(OPENCV_VCSVERSION "2.4.13.6"),其中的版本号要和version.hpp文件中的一致。
      2. cmake报错:CMake Error at cmake/OpenCVDetectCXXCompiler.cmake
        • 修改cmake/ OpenCVDetectCXXCompiler.cmake67行dumpversiondumpfullversion
      make -j$(nproc)
      sudo make install
      
      1. make报错:chamfermatching.cpp:969:30: error: the compiler can assume that the address of ‘annotate_img’
        • 修改 build/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make文件,删掉-Werror=address
  5. 环境变量及多版本设置,参见[ubuntu]环境变量+动态库链接+多版本切换

安装问题

  • 使用上面命令安装opencv3.3.1时出错,背景:选择CUDA10.0为默认cuda
    xxx/modules/cudacodec/src/precomp.hpp:60:18: fatal error: dynlink_nvcuvid.h: 没有那个文件或目录
             #include <dynlink_nvcuvid.h>
    
    原因:cuda10 does not provided dynlink_nvcuvid.h any more.
    可选择以下解决办法:
    法1> cmake 时 添加配置BUILD_opencv_cudacodec=OFF
    法2>
    1. 下载并解压video_codec_sdk,将其中Samples/NvCodec/NvDecodernvcuvid.hcuviddec.h复制到/usr/local/cuda/include
    2. 定位到opencv安装目录中modules/cudacodec/src/
    3. 编辑文件precomp.hppcuvid_video_source.hppframe_queue.hppvideo_decoder.hppvideo_parser.hpp,在#if CUDA_VERSION >= 9000后添加 && CUDA_VERSION < 10000

参考:ubuntu下安装opencv3.4.0及opencv_contrib(超详细教程)
在Ubuntu18.04中安装OpenCV4.5
Ubuntu 18.04配置OpenCV 4.2.0
OpenCV多版本管理
设置OpenCV_DIR,使cmake自动找到opencv
Ubuntu下多个版本OpenCV管理
编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件
OpenCV编译CUDA模块face_landmark_model.dat下载失败的解决方法
cuda10 安装 opencv出问题 fatal error: dynlink_nvcuvid.h: No such file or directory
解决“FATAL ERROR: DYNLINK_NVCUVID.H: 没有那个文件或目录#INCLUDE <DYNLINK_NVCUVID.H>“问题

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值