请充分参考官方指导说明:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
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
其中libjasper-dev可能安装不成功,需要先增加仓库地址:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
然后再
sudo apt install libjasper1 libjasper-dev
在opencv官网上下载源码:https://opencv.org/releases/
解压,例如解压得到【opencv-4.4.0】文件夹
cd opencv_4.4.0
进入该文件夹
mkdir build
cd build
执行如下操作
cmake -D CMAKE_BUILD_TYPE=Release/Debug -D OPENCV_GENERATE_PKGCONFIG=ON BUILD_EXAMPLES -D CMAKE_INSTALL_PREFIX=/usr/local ..
这里注意,如果要同时安装opencv_contrib,下载opencv_contrib,解压,然后在cmake中加入相应的路径。
例如:-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules
cmake -D CMAKE_BUILD_TYPE=Release/Debug -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules -D OPENCV_GENERATE_PKGCONFIG=ON BUILD_EXAMPLES -D CMAKE_INSTALL_PREFIX=/usr/local ..
这里面其他的也作简单说明
-D CMAKE_BUILD_TYPE=Release/Debug 同时生存Release和Debug版本
-D OPENCV_GENERATE_PKGCONFIG=ON 生存pkgconfig,例如某些程序是通过dpkg查找opencv的,不设置这个,就会报找不到opencv的错误
BUILD_EXAMPLES 生成示例
执行
make -j7
sudo make install
在/etc/ld.so.conf.d目录下创建opencv.conf文件,并修改权限(使可编辑)
打开后写入“/usr/local/lib”(即opencv库的地址),保存文件
接着执行
sudo ldconfig
在执行过程中可能会报错:“/***/cuda-x.x/targets/x86_64-linux/lib/libcudnn.so.x 不是符号连接”
这个参考:https://blog.csdn.net/langb2014/article/details/54376716
执行(注意根据实际版本号替换相应文字)
sudo ln -sf /usr/local/cuda-x.x/targets/x86_64-linux/lib/libcudnn.so.x.x.x /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.x
分别编辑 /etc/profile和/etc/bash.bashrc文件
在末尾加入:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
并更新环境变量:source /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
更新环境变量:source /etc/profile
在终端中输入如下命令
pkg-config --cflags opencv
pkg-config --libs opencv
没有报错说明安装正常