Ubuntu18.04安装OpenCV4.1.0
Ubuntu18.04安装OpenCV4.1.0
1.首先要安装依赖
sudo apt-get install build-essential \
cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev \
python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev \ #处理图像所需要的包
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev \
libxvidcore-dev libx264-dev \ # 处理视频所需要的包
libatlas-base-dev gfortran \ # 优化OpenCV的功能
ffmpeg
2.下载OpenCV
下载Sources
到下载目录解压sudo unzip opencv-4.1.0.zip
把解压后的文件夹移动到主目录(/home/cyp/下的目录,注意我电脑的用户名是cyp),为了方便,可以先改一下文件夹的名字sudo mv opencv-4.1.0 opencv,然后移动到主目录sudo mv opencv /home/cyp/
3.编译
$ cd ~
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. # 此处/usr/local为安装目录,可以自己改,改了之后后面加环境变量也要同时改
$ sudo make -j8 # j后面的数字根据你电脑的核数来定,这一步需要耗时比较长,建议把你电脑的所有核都用来编译,我大约用了十分钟(i7-8500u 8核)
$ sudo make install
添加路径库
sudo vim /etc/ld.so.conf.d/opencv.conf
打开了一个新文档,在里面写入/usr/local/lib,如果你在第3步编译时更改了安装目录,比如你改到了/home/cv,那这里应该填写/home/cv/lib
4.配置环境变量
sudo vim /etc/profile
在后面添加,注意你的安装路径!
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
5.测试
$ cd ~
$ cd opencv/samples/cpp/example_cmake
$ cmake .
$ make
$ ./opencv_example
如果弹出一个视频窗口,有文字hello,opencv,代表安装成功
6.如果你需要在Python3环境下使用OpenCV,那么这一步你必须也得做
sudo pip3 install opencv-python,python后不用加3
使用是在Python环境中使用,比如说查看版本
cyp@cyp:~$ python
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2 as cv
>>> cv.__version__
'4.1.0'
题外话:
在使用g++编译使用opencv的C++程序时,使用如下命令
$ g++ <cpp_code> `pkg-config opencv --libs --cflags opencv`
也可以使用cmake编译
Ubuntu18.04安装OpenCV4.1.0的更多相关文章
- Ubuntu18.04安装openCV4.1.2
Ubuntu18.04下安装openCV4.1.2 注意: 在整个安装过程中,包括后期QT的使用中不要出现中文路径.会很坑的. 一.下载openCV4.1.2 可以再官网进行下载https://ope ...
- ubuntu18.04安装mongoDB 4.0
STEP 1: 在终端输入GPK码 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334B ...
- ubuntu18.04 安装UHD+GNU Radio
参考链接: ubuntu16.04下安装uhd与gnuradio:https://blog.csdn.net/qq_37748396/article/details/80339366 GNU Radi ...
- 在Ubuntu 18.04 安装 MySQL 8.0
在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...
- Ubuntu18.04安装mysql5.7
Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...
- ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题 https://blog.csdn.net/NeptuneClouds/article/details/80995 ...
- ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4
1. 安装hadoop 详细请参见本人的另外一片博文<Hadoop 2.7.3 分布式集群安装> 2. 下载hive 2.3.4 解压文件到/opt/software -bin.tar.g ...
- Ubuntu18.04安装Docker, centos7安装Docker
Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo a ...
- Ubuntu18.04安装和配置Java JDK11并卸载自带OpenJDK
卸载自带的OpenJDK方法: 在终端执行命令:sudo apt-get remove openjdk* Ubuntu18.04安装JDK11.0.2 前面步骤一样,可参考:https://www.c ...
随机推荐
- Unity Shader基础(1):基础
一.Shaderlab语法 1.给Shader起名字 Shader "Custom/MyShader" 这个名称会出现在材质选择使用的下拉列表里 2. Properties (属性 ...
- 教程3 -如何与dotmemory内存优化交通
在本教程中,我们将看到如何使用dotmemory优化你的应用程序的内存使用情况. 我们所说的什么“优化内存使用”?像在任何操作系统的过程中,垃圾收集(GC)消耗系统资源.逻辑很简单:更多的藏品GC已作 ...
- .Net WebApi接口之Swagger集成详解
本文详细的介绍了.net从一个新的项目中创建api后集成swagger调试接口的流程! 1.首先我们创建一个MVC项目(VS2012): 2.然后在项目中的Controllers文件夹中添加API接口 ...
- Orderly Class
题目链接: https://nanti.jisuanke.com/t/40449 题目大意:给出两个长度相同的不同字符串A, B.可以对A的任意长度区间进行一次翻转,问有多少种方法可以使得翻转后两字符 ...
- Java入门请不要放弃,学习路线以及侧重点分析
前言: ●众多的语言,到底哪一门才是适合我的? ●我们为什么要学习Java语言呢? ●Java学习路线 我们可以通过今年最新的TIOBE编程语言排行榜看到,JAVA在"昨天".和& ...
- [转帖]yaml语言格式
yaml语言格式 YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言),强调这种语言以数据做为中心,而不是以置标语言为重点. 转载2篇 ...
- [知乎]这可能是最全面的龙芯3A3000处理器评测
这可能是最全面的龙芯3A3000处理器评测 第一千零一个人 已关注 蓬岸 Dr.Quest . https://zhuanlan.zhihu.com/p/50716952 这里面链接很全. 立党 ...
- [转]史上最最最详细的手写Promise教程
我们工作中免不了运用promise用来解决异步回调问题.平时用的很多库或者插件都运用了promise 例如axios.fetch等等.但是你知道promise是咋写出来的呢? 别怕-这里有本promi ...
- 导出远程oracle数据库到本地
1.以管理员身份运行 Net Manager 以管理员身份运行cmd
- 数据结构 -- 队列Queue
一.队列简介 定义 队列(queue)在计算机科学中,是一种先进先出的线性表. 它只允许在表的前端进行删除操作,而在表的后端进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有 ...