在ubuntu16.04下安装opencv3.4.10(超详细测试成功)

news/2024/11/29 2:39:33/

在ubuntu16.04下安装opencv3.4.10(超详细测试成功)


在ubuntu16.04下安装opencv3.4.10(超详细测试成功)
)

1.去官网下载opencv,本教程选用的是opencv3.4.10。
下载链接http://opencv.org/releases.html,选择sources版本

2.将压缩包移动到你想安装的地方,开始解压
终端进入压缩包位置:

 unzip opencv-3.4.10.zip

3.进入到解压后的文件包中

cd opencv-3.4.10

4.安装cmake工具:

sudo apt-get install cmake
sudo apt-get update

这里如果有疑问
参考:https://blog.csdn.net/tiny_lxf/article/details/75027865

5.安装依赖库:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

6.创建编译目录(release)并进入:

mkdir release && cd release

7.cmake配置编译:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

别的问题:
1.Qt5Core编译错误
Qt5Core-CMake did not find one
解决方式:

sudo apt-get install qt5-default

参考:https://www.cnblogs.com/Shuqing-cxw/p/9195303.html

8.make编译:

make  

9.安装:

sudo make install

10.环境配置添加库路径:

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

11.更新系统库:

sudo ldconfig

12.配置bash:

sudo gedit /etc/bash.bashrc  

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存,执行如下命令使得配置生效

source /etc/bash.bashrc  

更新

sudo updatedb  

----------------------------------------测试-----------------------------------------------------------

到这里所有的配置都已经完成,下面用一个小程序测试一下:

cd到opencv-3.4.10/samples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行

cmake .
make
./opencv_example

结果:
这里可以看到打开了摄像头,并且在左上角有一个hello opencv
即表示配置成功


http://www.ppmy.cn/news/676596.html

相关文章

【论文阅读】Context-aware Cross-level Fusion Network for Camouflaged Object Detection(IJCAI2021)

论文题目:Context-aware Cross-level Fusion Network for Camouflflaged Object Detection 论文地址:https://arxiv.org/pdf/2105.12555.pdf 代码地址:https://github.com/thograce/C2FNet 文章贡献: 1. 提出了一个新的伪装目…

Java------多线程学习

Java线程学习总结 今天把Java多线程学习了一下,作如下总结 进程与线程 进程是程序关于某个数据集合的一次执行过程 线程是操作系统能够运算调度的最小单位,是进程中单一顺序的控制流 一个进程可以并发执行多个线程,进程是线程的容器 例如…

第二章 Caché 服务器页面简介 - 你应该知道

文章目录 第二章 Cach 服务器页面简介 - 你应该知道你应该知道什么CSP SamplesCSP 文档 第二章 Cach 服务器页面简介 - 你应该知道 你应该知道什么 要高效使用 CSP,应该熟悉以下内容: Cach objects and ObjectScript HTML JavaScript SQL CSP Sam…

百度网盘免费高速下载(详细过程)

百度网盘加速器(下载速度在8-9M/S)(BUG只针对首次使用用户能体验高速下载,需要使用新的账号才能一直体验) 方法一: 百度网盘加速器小工具(无需安装即可使用) 下载地址&#xff1a…

android应用RxPermissions申请权限依赖添加方法和使用代码

android应用RxPermissions申请权限依赖添加方法和使用代码 环境:Android Studio2021.2,java添加依赖: 打开build.gradle(app),添加以下代码: implementation com.github.tbruyelle:rxpermissions:0.12 //rxJava 注意:…

解决m1的mac下 执行flutter pub run ffigen 出现“(have ‘arm64’, need ‘x86_64’)“错误

解决m1的mac下 执行flutter pub run ffigen 出现"(have ‘arm64’, need ‘x86_64’)"错误 ffigen主要是用来将底层的c/c的导出函数转成dart能方便调用的方法,用起来挺方便的,之前在windows弄成功过,现在在要在m1的mac下再弄一次&…

指数形式的傅里叶级数

傅里叶提出的两个重要的观点: 1.周期信号都可以表示为谐波关系的正弦信号的加权和(傅里叶级数) 2.非周期信号都可用正弦信号的加权积分表示(傅里叶变换) 参考上一篇博客 https://blog.csdn.net/Chevy_cxw/article/det…

SQL慢?吐血整理MySQL中Explain分析工具

前言 当我们遇到一条SQL慢的时候,往往需要使用一些性能分析工具,看看这个SQL究竟是为什么慢?那本文就分享MySQL中的一个性能分析神器——Explain, 通过读懂它的结果,我们可以知道SQL的执行计划,也就是具体执行查询的方…