赞
踩
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install python-dev-is-python3 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev
OpenCV-4.4.0
mkdir ~/opencv && cd ~/opencv
git clone https://gitee.com/yxd.osc.com/opencv.git
git clone https://gitee.com/yxd.osc.com/opencv_contrib.git
mkdir build && cd build
(opencv和opencv_contrib来自官网的github,github下载太慢所以导入到gitee中下载,而且修复了编译过程中的两个bug,放心使用!!!)
注意:根据自己的路径调整以下命令, 先看命令下方的的说明。
cmake ../opencv \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local/opencv4 \ -DOPENCV_EXTRA_MODULES_PATH=/自己的路径/opencv/opencv_contrib/modules \ -DBUILD_DOCS=ON \ -DBUILD_EXAMPLES=ON \ -DPYTHON3_EXECUTABLE=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \ -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so \ -DPYTHON3_NUMPY_INCLUDE_DIRS=/自己的路径/.local/lib/python3.8/site-packages/numpy/core/include \ -DOPENCV_GENERATE_PKGCONFIG=ON \ -DWITH_GTK_2_X=ON \ -DWITH_OPENGL=ON \ -DWITH_CUDA=ON \ -DWITH_OPENCL=ON \ -DCUDA_ARCH_BIN=8.6 \ -DCUDA_ARCH_PTX=8.6 \ -DBUILD_opencv_xfeatures2d=OFF \ -DBUILD_opencv_hdf=OFF
(官网提示:如果不能执行,去掉-D后面的空格,ubuntu18.04需要去掉空格。BUILD_DOCS和BUILD_EXAMPLES的设置不确定正确与否。反正我是顺利执行成功了。)
1、如果没有梯子会卡在下载ippicv,根据提示版本下载,此处提供一个:链接: ippicv_2020_lnx_intel64_general_20191018_general 提取码: m2ee
下载的文件复制到目录opencv/3rdparty/ippicv,并修改该目录中的ippicv.cmake,注释原来的下载网址,改为保存ippicv的本地路径。
2、最好有显卡才加最后三行,显卡型号与对应的CUDA_ARCH_BIN版本查询。
3、检查nvidia-smi和nvcc -V显示版本是否一致?如果不一致,sudo apt autoremove nvidia-cuda-toolkit。再试nvcc -V,如果依然不一致,估计CUDA没有配置好。
4、与conda库冲突:Cannot generate a safe runtime search path for target opencv_imgcodecs because files in some directories may conflict with libraries in implicit。解决方法:conda update conda; mv ~/anaconda3/lib ~/anaconda3/lib_bak (安装完以后记得改回来)。
make -j14
(-j后面的数字代表多线程,请根据自己的电脑配置设置,官网默认为7)
注: 1、 sys/videoio.h not found。解决方法:sudo mkdir /usr/include/sys, sudo touch videoio.h. 重新cmake。
2、fatal error: Python.h: No such file or directory。解决方法:sudo apt install python-dev, sudo apt install python3-dev
3. numpy/ndarrayobject.h: No such file or directory. Solution: sudo apt install python3-numpy
sudo make install
vim ~/.bashrc
如果配置了zsh,则使用vim ~/.zshrc,末尾添加以下内容:
export PKG_CONFIG_PATH='/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH'
export LD_LIBRARY_PATH='/usr/local/opencv4/lib'
附CUDA配置,注意安装完以后cuda路径是/usr/local/cuda-11.2,先执行sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda。好处就是以后更换cuda版本后,ln -s一下,就不需要更改配置文件了。
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
(1) https://gist.github.com/raulqf/f42c718a658cddc16f9df07ecc627be7
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。