Ubuntu 18.04 源码编译安装 OpenCV 3.4.5 步骤 【自用】

安装环境

  1. OS:Ubuntu 18.04 64 bit
  2. 显卡:NVidia RTX 2080Ti
  3. CUDA:10.1
  4. cnDNN:7.5
  5. cmake: 3.10.2

目标

  1. 源码编译安装 OpenCV 3.4.5

安装依赖

$ sudo apt install -y build-essential cmake git pkg-config libgtk2.0-dev libopenexr-dev 
$ sudo apt install -y gfortran libblas-dev liblapack-dev libeigen3-dev 
$ sudo apt install -y python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
$ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
$ sudo apt update
$ sudo apt install libjasper1 libjasper-dev 
$ sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libavresample-dev libxvidcore-dev libx264-dev libv4l-dev

下载源码

  1. 下载 3.4.5 版本的 opencvopencv_contrib 源码压缩包。
  2. 因为两个压缩包的文件名相同,分别改名为 opencv.zip 和 opencv_contrib.zip,然后解压到同一文件夹下。
$ unzip opencv.zip
$ unzip opencv_contrib.zip

预准备

  1. 下载 ippicv_2019_lnx_intel64_general_20180723.tgz,放置于某一文件夹:下载地址,密码:1miu
  2. 打开 opencv-3.4.5/3rdparty/ippicv/ippicv.cmake,将
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/"

修改为

file:{$步骤1中的文件夹路径}
  1. {$opencv-3.4.5 的路径}/modules/stitching/src/precomp.hpp 中第 91 行的 opencv2/xfeatures2d/cuda.hpp 修改为 {$opencv_contrib-3.4.5 的路径}/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
  2. {$opencv-3.4.5 的路径}/modules/stitching/include/opencv2/stitching/detail/matchers.hpp 中第 52 行的 opencv2/xfeatures2d/cuda.hpp 修改为 {$opencv_contrib-3.4.5 的路径}/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
  3. 若后续 make 的时候还有相似的找不到文件的错误,参考步骤 3 和 4 的做法。

编译代码

  1. 进入解压出的 opencv 目录,创建 build 目录,按需配置 cmake 参数并执行,再 make,最后 make install。
  2. 根据需要配置需要编译的模块,如下例子所示:
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.5/modules \
    -D PYTHON3_EXECUTABLE=~/.virtualenvs/{$虚拟环境名称}/bin/python\  # 不加这行则使用系统python
    -D BUILD_EXAMPLES=ON ..
$ make
$ sudo make install
$ sudo ldconfig
  1. python2 创建链接:
$ cd ~/.virtualenvs/cv2/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
  1. python3 创建链接:
$ cd /usr/local/lib/python3.6/site-packages/cv2/python-3.6/
$ sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
$ cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
$ ln -s /usr/local/lib/python3.5/site-packages/cv2/python-3.6/cv2.so cv2.so

验证安装

  1. 查看版本:
$ python
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.5'

错误

  1. 如果 sudo ldconfig 时出现下面错误:
/sbin/ldconfig.real: /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link
  1. 解决方案:
$ cd /usr/local/cuda/lib64
$ ls -lha libcudnn*
-rwxr-xr-x 3 root root 333M Jan 27 17:06 libcudnn.so
-rwxr-xr-x 3 root root 333M Jan 27 17:06 libcudnn.so.7
-rwxr-xr-x 3 root root 333M Jan 27 17:06 libcudnn.so.7.5.0
-rw-r--r-- 1 root root 331M Jan 27 17:06 libcudnn_static.a
$ sudo cp libcudnn.so libcudnn.so.bk
$ sudo cp libcudnn.so.7 libcudnn.so.7.bk
$ sudo rm libcudnn.so
$ sudo rm libcudnn.so.7
$ sudo ln -sf libcudnn.so.7.5.0 libcudnn.so.7
$ sudo ln -sf libcudnn.so.7 libcudnn.so
$ sudo ldconfig
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 以下是在Ubuntu 18.04安装OpenCV 3.4.5 GPU的步骤: 1. 更新系统: sudo apt update && sudo apt upgrade 2. 安装依赖项: sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libopencv-dev 3. 安装CUDA和cuDNN(如果已经安装可以跳过此步骤): 3.1 安装CUDA: sudo apt install nvidia-cuda-toolkit 3.2 安装cuDNN: 下载相应版本的cuDNN(需要注册NVIDIA账号):https://developer.nvidia.com/rdp/cudnn-download 解压文件: tar -xzvf cudnn-10.0-linux-x64-v7.3.1.20.tgz 进入文件夹: cd cuda 复制文件: sudo cp -P include/cudnn.h /usr/include sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn* 4. 下载OpenCV 3.4.5源码: git clone -b 3.4.5 https://github.com/opencv/opencv.git git clone -b 3.4.5 https://github.com/opencv/opencv_contrib.git 5. 编译OpenCV: 进入OpenCV源码目录: cd opencv 创建build目录: mkdir build 进入build目录: cd build 配置编译: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D CUDA_ARCH_BIN=6.1 -D CUDA_ARCH_PTX=6.1 -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules .. CUDA_ARCH_BIN和CUDA_ARCH_PTX的值根据你的显卡架构而定。可以使用以下命令确定你的架构: lspci | grep -i nvidia 例如,我的显卡架构是GeForce GTX 1080,值为6.1。 编译: make -j8 安装: sudo make install 6. 检查安装: 运行以下命令检查OpenCV是否正确安装: pkg-config --modversion opencv 如果输出版本号,说明安装成功。 至此,在Ubuntu 18.04安装OpenCV 3.4.5 GPU完成。 ### 回答2: 安装OpenCV 3.4.5 GPU版本的步骤如下: 1. 安装NVIDIA驱动程序:首先,需要安装适合您的图形处理器的NVIDIA驱动程序。您可以从NVIDIA官方网站上下载并安装最新的驱动程序。确保您选择与您的GPU和Ubuntu 18.04版本相匹配的驱动程序。 2. 安装CUDACUDA是用于利用GPU计算能力的平台和编程模型。同样,您需要选择与您的GPU和Ubuntu 18.04版本相匹配的CUDA版本。您可以从NVIDIA官方网站上下载并安装CUDA。 3. 安装cuDNN:cuDNN是一个NVIDIA深度神经网络库,它提供了加速神经网络训练和推理的功能。您需要选择与您的CUDA版本相匹配的cuDNN版本,并从NVIDIA官方网站上下载并安装它。 4. 安装OpenCV依赖项:在编译安装OpenCV之前,您需要安装一些必要的依赖项。打开终端并运行以下命令: ```bash sudo apt-get update sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev \ libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev \ libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev \ gfortran libcanberra-gtk3-module ``` 5. 克隆OpenCV存储库:使用以下命令克隆OpenCV存储库: ```bash cd ~ git clone https://github.com/opencv/opencv.git ``` 6. 切换到OpenCV 3.4.5版本:默认情况下,您可能会得到OpenCV的最新版本。使用以下命令切换到3.4.5版本: ```bash cd opencv git checkout 3.4.5 ``` 7. 创建一个构建目录并切换到该目录: ```bash mkdir build cd build ``` 8. 使用CMake配置OpenCV构建选项: ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \ -D WITH_CUDA=ON -D CUDA_ARCH_BIN=<Your_CUDA_ARCH_BIN> -D CUDA_ARCH_PTX=<Your_CUDA_ARCH_PTX> \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules .. ``` 根据您的具体需求,您可能需要根据OpenGL版本设置WITH_OPENGL参数,或根据您的OpenCV构建路径设置OPENCV_EXTRA_MODULES_PATH参数。 9. 编译安装OpenCV: ```bash make -j$(nproc) sudo make install sudo ldconfig ``` 10. 测试OpenCV设置是否成功:编写一个简单的OpenCV程序并进行编译和执行,以测试OpenCV安装是否成功。 希望这些步骤能帮助您成功安装OpenCV 3.4.5 GPU版本。记得根据您的硬件和系统版本进行相应的选择和配置。 ### 回答3: 首先,在Ubuntu 18.04安装OpenCV 3.4.5 GPU版本需要确保你已经正确安装CUDA和cuDNN,并且你的显卡支持CUDA。 以下是在Ubuntu 18.04安装OpenCV 3.4.5 GPU版本的步骤: 1. 安装CUDA和cuDNN:访问NVIDIA官方网站,下载并安装与你的显卡型号和Ubuntu版本相匹配的CUDA和cuDNN版本。 2. 确认CUDA和cuDNN安装成功:在终端输入以下命令来检查CUDA是否正确安装: ```bash nvcc -V ``` 如果正确安装,你将看到CUDA的版本信息。 3. 安装依赖项:在终端中运行以下命令来安装必要的依赖项: ```bash sudo apt-get update sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 4. 下载OpenCV源代码:在终端输入以下命令来下载OpenCV 3.4.5的源代码: ```bash cd ~ git clone https://github.com/opencv/opencv.git cd opencv git checkout 3.4.5 ``` 5. 编译安装OpenCV:在终端中依次运行以下命令来编译安装OpenCV: ```bash cd ~ mkdir opencv_build cd opencv_build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 sudo make install ``` 6. 安装OpenCV的GPU模块:在终端中,进入OpenCV源代码的目录,然后执行以下命令: ```bash cd ~/opencv_contrib/modules git clone https://github.com/opencv/opencv_contrib.git cd ~/opencv_build cmake -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules .. make -j8 sudo make install ``` 7. 配置环境变量:打开终端配置文件 `~/.bashrc`,并在文件末尾添加以下内容: ```bash export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` 保存文件并运行以下命令来应用配置更改: ```bash source ~/.bashrc ``` 这样,你就已经成功在Ubuntu 18.04安装OpenCV 3.4.5 GPU版本。你可以使用以下命令验证安装是否成功: ```bash pkg-config --modversion opencv ``` 如果OpenCV的版本信息显示为3.4.5,并且你的显卡支持CUDA,那么你已经成功安装OpenCV 3.4.5 GPU版本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值