How to install OpenCV 3.4 with CUDA on Ubuntu (include python3.6)

2019-10-18 03:29:26   计算机视觉
  OpenCV  

First of all install update and upgrade your system:

sudo apt-get update
sudo apt-get upgrade

Then, install required libraries:

Developers tools:

sudo apt-get install build-essential cmake pkg-config unzip yasm git gfortran

mage I/O libs

sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev

Video Libs - FFMPEG, GSTREAMER, x264 and so on.

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev

Cameras programming interface libs

sudo apt-get install libdc1394-22 libdc1394-22-dev libxine-dev libv4l-dev v4l-utils

GTK lib for the graphical user functionalites coming from OpenCV highghui module

sudo apt-get install libgtk-3-dev libgtk2.0-dev

Python libraries for python2 and python3:

sudo apt-get install python-dev python-pip python3-dev python3-pip
$ sudo -H pip2 install -U pip numpy
$ sudo -H pip3 install -U pip numpy

Parallelism library C++ for CPU

sudo apt-get install libtbb-dev

Optimization libraries for OpenCV

sudo apt-get install libatlas-base-dev gfortran

Optional libraries:

sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

Download porject

git clone https://github.com/opencv/opencv.git
cd opencv 
git checkout 3.4.2
cd ..
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.4.2
cd ..
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D WITH_CUDA=ON -D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_QT=OFF ..

with python3.6 lib (I also set CUDA_ARCH_BIN="7.5" because I use RTX2060, u can find yours at https://developer.nvidia.com/cuda-gpus)

cmake -D CMAKE_BUILD_TYPE=RELEASE \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D INSTALL_C_EXAMPLES=OFF \
  -D INSTALL_PYTHON_EXAMPLES=OFF \
  -D BUILD_EXAMPLES=OFF \
  -D BUILD_opencv_java=OFF \
  -D BUILD_opencv_xfeatures2d=OFF \
  -D BUILD_opencv_python3=ON \
  -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --expt-relaxed-constexpr" \
  -D CUDA_ARCH_BIN="7.5" \
  -D WITH_CUDA=ON \
  -D ENABLE_FAST_MATH=1 \
  -D CUDA_FAST_MATH=1 \
  -D WITH_CUBLAS=1 \
  -D WITH_EIGEN=ON \
  -D BUILD_opencv_sfm=OFF \
  -D WITH_QT=ON \
  -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
  -D PYTHON3_EXECUTABLE=$(which python3.6) \
  -D PYTHON_DEFAULT_EXECUTABLE=$(which python3.6) \
  -D PYTHON3_INCLUDE_DIR=$(python3.6 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
  -D PYTHON3_INCLUDE_DIR2=$(python3.6 -c "from os.path import dirname; from distutils.sysconfig import get_config_h_filename; print(dirname(get_config_h_filename()))") \
  -D PYTHON3_LIBRARY=$(python3.6 -c "from distutils.sysconfig import get_config_var;from os.path import dirname,join ; print(join(dirname(get_config_var('LIBPC')),get_config_var('LDLIBRARY')))") \
  -D PYTHON3_NUMPY_INCLUDE_DIRS=$(python3.6 -c "import numpy; print(numpy.get_include())") \
  -D PYTHON3_PACKAGES_PATH=$(python3.6 -c "import site; print(site.getsitepackages()[0])") \
  ..

(In case you do not want to include include CUDA:)

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D WITH_QT=OFF -D BUILD_SHARED_LIBS=OFF ..

Before the compilation you must check that CUDA has been enabled in the configuration summary printed on the screen.

--   NVIDIA CUDA
--     Use CUFFT:                   YES
--     Use CUBLAS:                  YES
--     USE NVCUVID:                 NO
--     NVIDIA GPU arch:             20 30 35 37 50 52 60 61
--     NVIDIA PTX archs:
--     Use fast math:               YES

If it is fine proceed with the compilation (Use nproc to know the number of cpu cores):

nproc
make -j`nproc`
sudo make install

Include the libs in your environment

sudo /bin/bash -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/219
欢迎小伙伴们在下方评论区留言 ~ O(∩_∩)O
文章对我有帮助, 点此请博主吃包辣条 ~ O(∩_∩)O

猜你喜欢


评论

There are no comments yet.
未登录

登录后即可发表评论

登录或注册

标签

AdSense Anaconda Android API apt Auth AWS B-tree Bandwagon Blog bower brew bytes Caffe Catalina cloudcone Composer conda CPU crontab CSS Cuda cv2 datetime Digitalocean DNS Docker Docker-Compose export Flask FTP GET Git GitHub Gmail GoDaddy Google GTM hash Homebrew Homestead HTML http HTTPS IDEA image imagemagick imagick imgick import InnoDB ios iPhone ISO8601 iTerm2 Java JPG Keras Laravel Laravel-Admin lazyload Linux list lnmp load logs Lravel Mac Markdown matplotlib md5 mix MobileNet Mojave mongo MongoDB MySQL Namesilo Nginx npm numpy Nvidia Nvidia-Docker onevps OpenCV Openpose Outline parse PayPal PHP php-fpm PhpStorm PHP扩展 PIL Pillow pip PNG POST Protobuf PyCharm pyenv pymongo Python Python,人工智能,机器学习,VOC,xml Queue Redis requests RGB save selenium SEO Shadowsock Shadowsocks ShadowsocksR simplemde Spring Boot SQLServer ssd SSH SSL证书 SSR str Sublime sudo swap Swift Tensorflow Terminal Terminator Ubuntu urllib UTC v2ray Valet Validation Validator VienBlog virtualenvs VPN VPS Vultr Web Windows WordPress Xcode yaml YUV zip zmq zsh 下载图片 云主机 云服务器 人工智能 优化 优惠码 伪原创 作弊与反作弊 免费ss账号 免费提现 切片 前端 加密 协议 博客 友链 双击事件 后台运行 后端 命令 图片操作 图片转换 域名 大小写转换 姿态检测 安卓模拟器 安装 定时任务 定时执行 导出导入 小程序码 延迟加载 微信小程序 慢查询 懒加载 提现 搜索引擎 搬瓦工 搭梯子 教程 数据库 文件上传 无法登录 日志 日期 时区 时间 时间戳 服务器 机器学习 权限 梯子 模拟浏览器 港版支付宝 爬虫 生活服务 科学上网 系统升级 索引 组件开发 编辑器 自动付款 英文伪原创 计划任务 计算机视觉 语法 远程连接 配置文件 重定向 错误异常 错误提示 队列 阿里云 香港 香港手机号
亲情非友情链接