前提,需要预先安装对应GPU版本的cuda和cudnn,此处不作详述。
1. 安装opencv依赖(必须安装,否则容易编译出错)1. 下载和安装
在官方网址:Home - OpenCV 下载该4.x版本的opencv和opencv_contrib的zip源码文件,本文以opencv4.5.5为例。然后解压该zip文件,即得到
unzip opencv-4.5.5.zip
unzip opencv_contrib-4.5.5.zip
2. 安装opencv依赖(必须安装,否则容易编译出错)
先安装编译工具
yum install cmake gcc gcc-c++
1、先安装epel扩展源
yum -y install epel-release
2、安装其他扩展源
yum localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
3、最后安装ffmpeg
yum -y install ffmpeg ffmpeg-devel
测试ffmpeg有没有安装成功,输入命令ffmpeg -version
4、安装依赖命令:
yum install gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm libv4l-devel libv4l-devel python-devel numpy gstreamer-plugins-base-devel gtk2-devel gtk2-devel-docs libavcodec-devel libavformat-devel libswscale-devel libavutil-devel libeigen3-devel libtbb-devel libtiff-dev libavformat-devel libpq-devel libxine2-devel libglew-devel libtiff5-devel gstreamer-plugins-base-devel libjpeg-turbo-devel jasper-devel openexr-devel tbb-devel
3. 开始安装编译
1. 进入你下在解压好的opencv-4.5.5中,执行:
mkdir opencv-4.5.5/build && cd opencv-4.5.5/build
2、 cmake过程中会遇到下载一个ippicv下载失败的情况,在源码中opencv-4.5.5/3rdparty/ippcv/ippicv.make文件的47行根据下载地址,把对应文件下载到此目录下
3、使用camke执行:
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules \
-D WITH_CUDA=ON \
-D WITH_TBB=ON \
-D BUILD_PYTHON_SUPPORT=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_OPENCV_PYTHON3=ON \
-D BUILD_opencv_python2=OFF \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON_LIBRARY=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
-D OPENCV_GENERATE_PKGCONFIG=YES \
-D WITH_CUDNN=ON \
-D WITH_V4L=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
-D WITH_CUBLAS=1 ..
4、执行 make -j8
5、执行 make install
6、Opencv环境配置
(1)路径添加和加载:
cd /etc/ld.so.conf.d
(2)添加opencv编译产生的lib库路径到opencv.conf中,命令如下:
/bin/bash -c 'echo "/usr/local/lib64" > /etc/ld.so.conf.d/opencv.conf'
或者手动新建opencv.conf,打开写入/usr/local/lib64
(3)加载 ldconfig:
ldconfig
(4)添加PATH
输入命令vim /etc/bashrc
在文件末尾另起行加入
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
保存,退出
终端输入source /etc/bashrc使配置生效
输入updatedb更新数据库
(5)pkg-config配置
默认的pkg搜索链接路径/usr/lib64/pkgconfig,需要将opencv4.pc拷贝到pkg的默认路径下
cp /opt/opencv-4.5.5/lib64/pkgconfig/opencv4.pc /usr/lib64/pkgconfig/opencv.pc
如果没有此文件夹,需要新建一个/usr/local/lib64/pkgconfig,把opencv.pc复制进来
这一步中,./opencv-4.5.5/lib64/pkgconfig/opencv.pc应该替换成你自己的opencv.pc所在的位置 (我的是./opencv-4.5.5/build/unix-install)
7、检验opencv安装版本,输入命令:
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs opencv
至此,opencv安装完成!
4、 opencv卸载
1) 找到当初安装 opencv 的 build 目录,进入 build 目录,执行命令:
sudo make uninstall
cd ..
sudo rm -r build
2) 然后清理 /usr 中所有 opencv 相关项
1. cd /usr
2. find . -name "*opencv*" | xargs sudo rm -rf