安装opencv
- 下载opencv,下载opencv_contrib
注意:
2.x版本无contrib;
opencv与opencv_contrib版本号应相同; - 解压两文件,并将后者放入前者内;
- 安装依赖项:
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
- 安装
-
安装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.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文件
- 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文件中的一致。
- cmake报错:CMake Error at cmake/OpenCVDetectCXXCompiler.cmake
- 修改
cmake/ OpenCVDetectCXXCompiler.cmake
67行dumpversion
为dumpfullversion
- 修改
make -j$(nproc) sudo make install
- 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
- 修改
- cmake报错:CMake Warning at cmake/OpenCVPackaging.cmake:23 (message):
-
- 环境变量及多版本设置,参见[ubuntu]环境变量+动态库链接+多版本切换
安装问题
- 使用上面命令安装opencv3.3.1时出错,背景:选择CUDA10.0为默认cuda
原因:cuda10 does not provided dynlink_nvcuvid.h any more.xxx/modules/cudacodec/src/precomp.hpp:60:18: fatal error: dynlink_nvcuvid.h: 没有那个文件或目录 #include <dynlink_nvcuvid.h>
可选择以下解决办法:
法1> cmake 时 添加配置BUILD_opencv_cudacodec=OFF
法2>
1. 下载并解压video_codec_sdk,将其中Samples/NvCodec/NvDecoder
下nvcuvid.h
与cuviddec.h
复制到/usr/local/cuda/include
下
2. 定位到opencv安装目录中modules/cudacodec/src/
3. 编辑文件precomp.hpp
、cuvid_video_source.hpp
、frame_queue.hpp
、video_decoder.hpp
、video_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>“问题