在Linux下OpenCV的下载和编译

原理上来说,和windows下没有差别,我们同样使用Cmake-GUI来解决问题。

我们推荐QT和OpenCV全部采用官方的方式重新安装一遍,否则可能会丢失一些模块,而这些都会降低开发效率。

1、参考相关资料,为了避免麻烦,首先安装一些预置环境:

必须安装依赖的库

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

可以选择安装的

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

2、从github上下载相关代码:

这里我们只安装基本的代码,如果结合contrib的话请参考相关资料。比如

《(5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练>

https://www.cnblogs.com/jsxyhelu/p/8000819.html

为了保证资料的最新性,这里坚持把最新版的OpenCV4通过GitHub下载下来,的确比较消耗时间。我使用的Ubuntu是16.04,目前还没有升级到18.04,但是将来会升级,18.04在易操作性上做得更棒。

如果从github上下载资料比较慢,请参考相关修改host的文章



3、打开cmake-gui开始编译

两次Make,一次generate,主要是下载ipp比较消耗时间。

而后打开目录进行

make,

sudo make install

这里几个注意的地方:、

不要使用world,不知道为什么这种情况下会报错(crash错误)

读懂这段:

如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

我们肯定是需要修改的

最后,我的结果为:

INCLUDEPATH += /usr/local/include/opencv4 \
               /usr/local/include/opencv4/opencv2

LIBS += /usr/local/lib/libopencv_highgui.so\
        /usr/local/lib/libopencv_core.so\
        /usr/local/lib/libopencv_videoio.so\
        /usr/local/lib/libopencv_imgcodecs.so\
        /usr/local/lib/libopencv_imgproc.so

4、编写测试程序

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/jsxyhelu/p/10349447.html

时间: 2024-10-19 01:05:49

在Linux下OpenCV的下载和编译的相关文章

linux下nginx,mysql,php(lnmp)编译安装

关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenforce 0 #使配置立即生效 mysql 5.5.28安装 安装路径:/usr/local/mysql数据库路径:/usr/local/mysql/data/ mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具

linux下opencv库所带标的含义

在opencv中存在的许多的各种类型的库,下面我就来介绍下每个库所代表的意义: linux下opencv有很多库. libopencv_calib3d.so      摄像机的标定和3D重建库: libopencv_core.so          基础数据结构库: libopencv_contrib.so      人脸识别库: libopencv_features2d.so 特征点检测以及匹配算法: libopencv_flann.so         查找算法,最近领域法: libopen

Windows 和 Linux下使用socket下载网页页面内容(可设置接收/发送超时)的代码

主要难点在于设置recv()与send()的超时时间,具体要注意的事项,请看代码注释部分,下面是代码: [cpp] view plaincopyprint? #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <string.h> #ifdef _WIN32   ///

linux下用wget下载文件

>>>linux下可以用wget来下载文件,wget支持http.https和ftp协议, 而且还支持通过http代理从http从web服务器上下载文件. wget支持断点续传.可以下载url中里面多个链接,进行递归下载 例:wget https://imgsa.baidu.com/forum/w%3D580/sign=62b665f76c59252da3171d0c049a032c/495877d3572c11df12a338ce6f2762d0f603c26b.jpg wget -b

linux下boost的安装与编译

1.从boost官网下载boost库包: 2.然后解压到linux下的任意一个文件夹, 3.进入boost_1_57文件夹下,不同的boost版本会解压城不同的库文件夹, 4.执行././bootstrap.sh,build完成之后会生成一个bjam文件. 5执行./bjam -prefix=/usr/include. ok!

笔记-linux下Qt5.3.2 静态编译

这里主要讲linux下的编译,windows下面比较简单 参考:http://qt-project.org/wiki/Building-Qt-5-from-Git 依赖 sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev 编译选项 configure -confirm-license -opensource -static -release -no-qml-d

怎样在linux下编写C程序并编译执行

一.Hello, world! 在linux下输入:(以hello.c为例)首先选中文件要保存的路径(如:cd work)vi hello.c(要编辑的文件名) 输入程序:# include<stdio.h>int main(void) { printf("hello,world!\n");   return 0;   注:return和0之间要有空格} 退出并保存程序:在vi模式下,按ESC后,按 :wq加enter键 利用gcc编译程序:(先要找到程序存在哪个文件夹中)

Linux下MySQL的下载、安装及启动

测试环境 主机系统:Win7 64位 虚拟机:VMware® Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位   Kernel 2.6.32-431.e16.x86_64 MySQL: 5.6.24 1. Mysql的下载 a. 官网  http://dev.mysql.com/downloads/mysql/5.6.html#downloads b. 下载跟OS对应的mysql版本 [[email protected] ~]# uname –a         

linux下使用wget下载整个网站

linux下可以用wget下载整个网站,而且网站链接中包含utf-8编码的中文也能正确处理. 简要方法记录如下: wget --restrict-file-name=ascii -m -c -nv -np -k -E -p -R=exe,zip http://www.xxx.com 参数释义如下: --restrict-file-name=ascii ,将文件名保存为ASCII格式.这样能避免utf-8文件名带来的麻烦(注:1.12版才支持ascii参数值) -m 整站下载,mirror的缩写,