极智开发 | ubuntu源码编译cuda版opencv

222 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 8 天,点击查看活动详情

欢迎关注我的公众号 [极智视界],获取我的更多经验分享

大家好,我是极智视界,本文介绍一下 ubuntu源码编译cuda版opencv。

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:t.zsxq.com/0aiNxERDq

如果你需要源码编译cpu版的opencv可以看我的这篇文章:《极智开发 | ubuntu源码编译opencv

要编译cuda版opencv,需要先安装好cuda和cudnn,可以参考我的这篇文章:《极智开发 | ubuntu系统、显卡驱动、cuda、cudnn安装教程

在安装好cuda和cudnn后,咱们开始。

1、安装cmake及依赖库

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
errorE: unable to locate libjasper-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-get install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdc1394-22-dev libavresample-dev

2、下载源码包

# 咱们去opencv官方github上拉取最新版的4.x源码
git clone --recursive https://github.com/opencv/opencv.git opencv-4x

# 为了提速下载,也可以采用gittee源
git clone --recursive https://gitee.com/mirrors/opencv.git opencv-4x

3、开始编译

cd opencv-4x

# 再下载opencv-contrib
cd 3rdparty
git clone https://github.com/opencv/opencv_contrib.git
cd ..

mkdir build
cd build

sudo cmake -D WITH_TBB=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D OPENCV_EXTRA_MODULES_PATH=/path/to/opencv-4x/3rdparty/3rdparty/opencv_contrib/modules -D CMAKE_INSTALL_PREFIX=/path/to/opencv ..

sudo make -j8
sudo make install -j8
  • 若cmake要指定python3,确定/usr/bin/python指向你的python3,则:
sudo cmake -D WITH_TBB=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D OPENCV_EXTRA_MODULES_PATH=/path/to/opencv-4x/3rdparty/opencv_contrib/modules -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python -D CMAKE_INSTALL_PREFIX=/path/to/opencv ..

4、查看cuda opencv是否安装成功

看看 path/to/opencv中头或者库是否有cuda的头或者库,如下:

好了,以上分享了 ubuntu源码编译cuda版opencv,希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《极智开发 | ubuntu源码编译cuda版opencv》


畅享人工智能的科技魅力。邀请您加入我的知识星球,星球内有丰富的AI技术应用相关技术文章、资源、项目源码,涵盖人脸、检测、分割、多模态、自动驾驶、工业等实用、好玩的项目应用,一定会对你的学习有所帮助。t.zsxq.com/0aiNxERDq

logo_show.gif