opencv4.1.0在ubuntu上安装

软件安装包的依赖问题

简介以及解决方法
Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-version”的形式命名的。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,类库之间依赖关系无法满足,你所要安装的程序就不能安装。
这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本,这时候可以试试使用“sudo aptitude install ”(尖括号内为你要安装的程序的名字)

需要安装的包

# 因为安装 libjasper-dev 这个依赖包可能会出问题,所以先执行以下命令,在执行后续依赖包的安装
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
# 而且一路配置过来犯过一些错(具体错误 ——> 问题 4),说 libgtk 依赖要先于 opencv 某些依赖安装(——> 参考 9),保险起见
sudo apt-get install libgtk-3-dev libgtk2.0-dev pkg-config

# 接下来就可以执行后续命令
# 可以输入下面的一次装,省心省力

# 分步装
sudo apt-get install build-essential
# opencv4.1.0需要 libgtk-3-dev 
sudo apt-get install cmake libgtk-3-dev libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python3-dev python3-numpy python-dev python-numpy libpython3.6-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
sudo apt-get install ffmpeg

# 一次装 (就是把上面的依赖全部写成一行,省心,下载过程中有些依赖需要你确认,-y 是替你输入 y ,省力)
sudo apt-get -y install build-essential cmake libgtk-3-dev libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy python-dev python-numpy libpython3.6-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev libopenexr-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran ffmpeg


一些基本的编程知识

程序要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接。
使用gcc编译器

-E选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执行了。.i文件

-S选项:提示编译器执行完编译就停下来,不去执行汇编和链接了。.s文件

-c选项:提示编译器执行完汇编就停下来。.o文件
相关可参考折明卞德你真帅

cmake 基本知识

1)编写 CmakeLists.txt。
2)执行命令“cmake PATH”或者“ccmake PATH”生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。
3)使用 make 命令进行编译。
基本操作网上都有这里就不详细介绍了

动态库和静态库的基本知识

库:源代码的二进制文件
函数库分为动态库和静态库
window中动态库dll静态库lib
linux动态库so静态库a
静态库牺牲了空间的效率
动态库牺牲了时间的效率
好的比较简略

(最重要部分)opencv的配置

1.解决头文件的包含问题
2.解决库的链接问题
好的 你的opencv配置完了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值