Ubuntu18.04安装OpenCV4.3.0和环境配置

  • 下载源文件
  • 安装依赖
  • 编译安装
  • 环境配置
    • 动态库配置
    • 配置OpenCV的`PKG-CONFIG`环境
    • Python-OpenCV环境[如果安装python支持,否则可以跳过此步]
  • 测试OpenCV
    • C++
    • Python[如安装Python支持]
  • The end

下载源文件

在官方网站下载OpenCV 4.3.0安装包,在GitHub上下载OpenCV-contrib模块。
安装过程主要参考官方文档。

安装依赖

首先是一些必须安装的依赖项:

$ sudo apt-get install -y build-essential checkinstall cmake pkg-config yasm git gfortran
# 添加源,防止可能会出现的找不到所需安装的库的情况
$ sudo add-apt-repository -y "deb http://security.ubuntu.com/ubuntu xenial-security main"
$ sudo apt-get update
$ sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt-get install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
$ sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils

如果需要python3支持则需要安装下面两个库:

$ sudo apt install python3-dev python3-numpy

可以选择安装一些可选的库:

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译安装

  1. 解压安装包
$ unzip opencv-4.3.0.zip
$ unzip opencv_contrib-4.3.0.zip
  1. 进入解压文件夹
$ cd opencv-4.3.0
  1. 创建编译文件夹build
$ mkdir build
$ cd build/
  1. cmake编译
cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local/ \ #指定安装路径-D CUDA_ARCH_BIN='7.5' \ #指定GPU算力,在NVIDIA官网查询-D WITH_CUDA=ON \ #使用CUDA-D WITH_CUBLAS=ON \-D WITH_TBB=ON \-D WITH_V4L=ON \-D WITH_QT=ON \ #使用QT支持-D WITH_OPENGL=ON \-D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-4.3.0/modules \ #opencv_contrib modules路径-D OPENCV_GENERATE_PKGCONFIG=YES ..

NVIDIA官网查询算力。
OPENCV_GENERATE_PKGCONFIG用于生成opencv4.pc文件,支持pkg-config功能
cmake命令的结果中可以看到是否支持CUDA以及Python情况。

  1. make编译
#使用nproc确定CPU核心数
$ nproc
$ make -j6 #根据CPU核心数确定编译线程数
  1. 安装
$ sudo make install

安装成功,我是安装在home目录下,可以根据自己的偏好设置安装路径,但是演示我是按照官网给出的安装路径。

环境配置

动态库配置

$ sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv4.conf
#使配置生效
$ sudo ldconfig

配置OpenCV的PKG-CONFIG环境

/usr/local/lib/pkgconfig/路径加入PKG_CONFIG_PATH中:

  1. 打开文件
$ sudo vim /etc/profile.d/pkgconfig.sh
  1. 在文件中添加如下内容
$ export PKG_CONFIG_PATH=/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH
  1. 使配置生效
$ source /etc/profile

Python-OpenCV环境[如果安装python支持,否则可以跳过此步]

在安装目录:/usr/local/lib/python3.6/dist-packages/cv2/python-3.6/中可以找到文件cv2.cpython-36m-x86_64-linux-gnu.so,即为编译好的python3的opencv库。根据安装位置的不同和Python版本的不同文件名可能略有差异。将其链接到.../python/site-packages中,即可在Python解释器中使用Opencv。

#系统自带Python
sudo ln -s /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/cv2.so
#如果是自己安装的需要根据自己的安装位置
sudo ln -s /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so <path_to_python>/lib/python3.7/dist-packages/cv2.so

测试OpenCV

C++

在解压后的/opencv-4.3.0/samples/cpp/example_cmake中存在测试用例。

  1. 修改目录下Malefile文件
    修改后如下:
CXX ?= g++CXXFLAGS += -c -Wall $(shell pkg-config --cflags opencv4)
LDFLAGS += $(shell pkg-config --libs --static opencv4)all: opencv_exampleopencv_example: example.o; $(CXX) $< -o $@ $(LDFLAGS)%.o: %.cpp; $(CXX) $< -o $@ $(CXXFLAGS)clean: ; rm -f example.o opencv_example
  1. make生成可执行文件opencv_example
$ make
  1. 执行
$ ./opencv_example

成功执行可以看到Hello OpenCV字样。

Python[如安装Python支持]

通过Python解释器打印OpenCV版本号

$ python3.7
Python 3.7.7 (default, Jul 2 2020, 21:58:02)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.__version__)
#成功则打印版本信息
4.3.0

The end

如果出现"/usr/bin/ld:cannot find -lcudart_static…/usr/bin/ld: cannot find -lx86_64-linux-gnu"问题,参考解决方法。Enjoy coding.

Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)相关推荐

  1. Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022

    记录一下第一次在CSDN发博客,欢迎大家光临~ 文章目录 前言 一.宿主机配置 1.安装Ubunntu18.04 64位系统 2.为宿主机系统更换国内软件源Ubuntu 官方源服务器在欧洲,国内访问很 ...

  2. ubuntu16.04安装opencv4.3.0

    参考: https://blog.csdn.net/thorking01/article/details/95060051 https://blog.csdn.net/cocoaqin/article ...

  3. 爆肝推荐、血泪安装:2080ti显卡安装Ubuntu18.04+nvidia驱动+cuda10.0+cuDNN

    爆肝推荐.血泪安装:2080ti显卡安装Ubuntu18.04+nvidia驱动+cuda10.0+cuDNN 记一次超过三周时间的"血泪"安装经历 版本问题--写在最前,&quo ...

  4. Ubuntu18.04+CUDA10.2 深度学习开发环境配置指南

    深度学习 Author:louwill Machine Learning Lab 搞深度学习环境永远是第一步.笔者之前也写过配置的两篇文章,但时间久远,目前来看版本已经过旧了.之前两篇参考: 深度学习 ...

  5. OpenCV4.4.0+VS2017 环境配置

    OpenCV4.4.0+VS2017 环境配置 1.准备工具 1.OpenCV4.4安装包,下载地址:opencv-4.4.0-vc14_vc15.exe(下载速度可能会很慢!) 2.VS2017, ...

  6. Ubuntu18.04实装autoware1.14.0(ROS Melodic、QT5.9.5、BagRunning)

    Autonomous vehicle 杂谈_06 一. ReadMe 博主之前使用的是Autoware1.12.0版本,但该版本在安装过程略有些繁琐,且会出现花屏的问题,这对于新手来说解决起来会比较头 ...

  7. linux的cuda10卸载,Ubuntu18.04下卸载CUDA11.0

    Ubuntu18.04下卸载CUDA11.0 Ubuntu18.04下卸载CUDA11.0 由于深度学习部分代码仅支持CUDA11.0版本之前的Pytorch,Pytorch官网也没有提供与CUDA1 ...

  8. 工业相机 linux驱动软件,菲力尔FLIR-灰点Point Grey工业相机Linux Ubuntu18.04系统驱动Spinnaker-2.0.0.147-amd64/arm64...

    注册登陆后可查看附件和大图,以及购买相关内容 您需要 登录 才可以下载或查看,没有帐号?注册会员 x 菲力尔FLIR-灰点Point Grey工业相机Linux Ubuntu18.04系统驱动Spin ...

  9. Ubuntu18.04平台下C/C++编程环境搭建及OpenCV4.5.4安装

    安装Vim编辑器 Vi 编辑器是 Linux 和 Unix 上最基本的文本编辑器,工作在字符模式下,支持众多的命令,是一款功能强大,效率很高的文本编辑器.Vi 编辑器可以对文本进行编辑.删除.查找和替 ...

最新文章

  1. ESX VMFS文件系统浏览及修复软件部分免费发布
  2. File.separator或File.pathSeparator
  3. AI:一个20年程序猿的学习资料大全—区块链/大数据/数据集/云计算/前沿大会资料——只有你不想要的,没有你找不到的
  4. 交换机中流量监管、流量整形和接口限速是如何实现的
  5. 云计算重头戏:可信计算技术
  6. oracle怎么查询表空间信息,查询Oracle表空间信息
  7. Jenkins在AWS上(第1部分)
  8. @ResponseBody与@RestController的作用与区别
  9. LINUX SHELL中数组的使用
  10. svnadmin的使用
  11. java一定时间间隔的定时任务_详解java定时任务
  12. 新能源外地车进京限行限号政策是怎样的?
  13. 机器视觉技术在当前各行各业中的应用
  14. 【DRM】PlayReady数字版权保护系统
  15. 医学图像最新相关研究方向、论文下载及其思考---MICCAI2019论文
  16. java徽章_java
  17. 两台笔记本相连是不是计算机网络,打扰一下,如何将两台笔记本电脑的屏幕连接在一起?...
  18. win10下如何使用的debug
  19. java的Pattern类
  20. 10、 WMAP Web漏洞扫描

热门文章

  1. 痴情研究java内存中的对象
  2. [python实现设计模式]-3.简单工厂模式-触宝开放平台
  3. HDU 4534 郑厂长系列故事——新闻净化
  4. Unity3D吐槽2--AnimationEvent
  5. 更改SAP的字段翻译
  6. [转载] Python 内置函数 dir()
  7. 2019暑假绍兴第一中学游记
  8. vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制
  9. 捷信达会员管理系统SQL语句相关
  10. 排序类问题度量指标:Recall , MAP,MRR