(1)到官网下载opencv3.4.2,链接:https://opencv.org/releases.html

(2)下载opencv_contrib,链接:https://github.com/opencv/opencv_contrib/releases

(2)将两个压缩包解压,进入opencv3.4.2目录创建build文件夹备用,创建install目录备用

  mkdir build

  mkdir install

(3)安装依赖库

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

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

  sudo apt-get install libavcodec-dev libavformat-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran ffmpeg

  

(4)打开cmake:cmake-gui

(5)点击Browse Source选择opencv源码所在目录

(6)点击Browse Build选择之前创建的build目录。

(6)点击Congiure按照默认选择即可,点击finsh

(8)在Search查找extra,找到OPENCV_EXTRA_MODULES_PATH设置目录为contrib的modules目录

(8)查找INSTALL_PREFIX修改安装目录,选择我们创建的install目录。

不要直接安装到/usr/local目录下,有一些第三方库会依赖opencv,而它们依赖的版本可能是不一样的,这意味着你可能在一个系统里面安装多个版本的opencv,为了避免冲突,不要直接安装在/usr/local目录下。

(9)再次点击Configure开始配置,直到显示Configuring done,然后再次点击Configure直到所有选项没有红色状态。

(10)点击Generate.

(11)关闭cmake进入build目录。

输入:make -j4,然后等待编译。

(12)编译完成输入:make install,到此安装opencv3.4.2结束。

(13)将头文件和库文件放到/usr目录下。

  cd ~/Download/opencv3.4.2/install

  mv include /usr/include/opencv3.4.2

  mv lib /usr/lib/openc3.4.2

  mv bin /usr/bin/opencv3.4.2

然后设置一下库文件目录的路径。

  vim ~/.bashrc

在最末尾添加:

export LD_LIBRARY_PATH=/usr/lib/opencv3.4.2:$LD_LIBRARY_PATH

然后保存退出,重启终端生效。

(14)写一个测试demo测试一下。

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
VideoCapture cap;
cap.open(0); //打开摄像头
if(!cap.isOpened())
{
cout<<"open camera error!"<<endl;
return -1;
}
Mat frame;
while(1)
{
cap>>frame; //取当前摄像头帧画面
if(frame.empty())
{
cout<<"frame error!"<<endl;
return -2;
}
imshow("cameraView",frame);
if(waitKey(10)==27)
break;
}
cap.release(); //释放摄像头
}

(15)Makefile

CXX		  := g++
CXX_FLAGS := -Wall -Wextra -std=c++11 -ggdb BIN := .
SRC := .
INCLUDE := /usr/include/opencv3.4.2
LIB := /usr/lib/opencv3.4.2 LIBRARIES :=-lopencv_imgcodecs -lopencv_highgui -lopencv_core \
-lopencv_video -lopencv_videoio
EXECUTABLE := camera all: $(BIN)/$(EXECUTABLE) run: clean all
clear
./$(BIN)/$(EXECUTABLE) $(BIN)/$(EXECUTABLE): $(SRC)/*.cpp
$(CXX) $(CXX_FLAGS) -I$(INCLUDE) -L$(LIB) $^ -o $@ $(LIBRARIES) clean:
-rm $(BIN)/*

Ubuntu16.0.4安装OpenCV3.4.2的更多相关文章

  1. Ubuntu16.04下安装OpenCV3.2.0

    1.安装官方给的opencv依赖包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0- ...

  2. ubuntu16.04下安装opencv3.1.0

    1.安装依赖项 sudo apt--dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 可选的 sudo apt--dev lib ...

  3. ubuntu16.04下安装opencv-3.1.0及其扩展模块opencv_contrib

    步骤1.安装依赖项 sudo apt--dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 可选的 sudo apt--dev l ...

  4. 【深度学习】ubuntu16.04下安装opencv3.4.0

    1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安装依赖包 sudo apt-get install cmake git li ...

  5. ubuntu16.04下安装opencv3.3

    最近重装了ubuntu16.04的系统,在给电脑配置好cuda8.0和cudnn6.0的版本后,开始重新安装opencv,在opencv的官网上发现最新版本3.3版本增加了很多深度学习方面的东西,果断 ...

  6. ubuntu16.04下安装opencv3.4.1及其扩展模块

    1.源文件下载 opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases) opencv_contrib-3.4.1.tar.gz(h ...

  7. ubuntu16.04编译安装opencv3.4.6

    1.下载压缩包:https://github.com/opencv/opencv,在Branch栏选择3.4版本,clone下载 2.安装cmake及依赖库,打开终端,输入以下命令: sudo apt ...

  8. ubuntu16.04下安装opencv3的viz模块

    OPENCV3.0默认是不安装VIZ模块的,那么如何安装呢? 如果已经安装了Opencv,现在要增加VIZ模块,应该再安装一次就可以吧,我没试过,我是卸载了原来的,重新安装的 简单来说,就是要多安装一 ...

  9. Kubernetes入门学习--在Ubuntu16.0.4安装配置Minikube

    目 录 一. 安装minikube环境 1.1. 安装前准备 1.2. 安装Lantern 1.2.1. Lantern下载网站 1.2.2. Lantern下载地址 1.2.3. Lantern安装 ...

随机推荐

  1. list数组排序 Collections 按Date时间降序排列

    @ResponseBody @RequestMapping(value = {"K12", "12"}) public String refurbishLigh ...

  2. NSKeyedArchiver : NSCoder

    NSKeyedArchiver : NSCoder @interface NSData : NSObject <NSCopying, NSMutableCopying, NSSecureCodi ...

  3. linux 下安装git的步骤方法

    ①.获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为: wget https://github.com/git/git/archive/v2.17.0.tar.gz  ...

  4. ent 基本使用 三 边(关系处理)

    ent 提供了图查询的能力,实际上在关系数据库中的表现就是relation,以下代码接前文 添加边(关系) 添加schema entc init Car Group 效果: 添加字段 car pack ...

  5. 如何安全地使用redis的pop命令

    Redis的list经常被当作队列使用,左进右出,一般生产者使用lpush压入数据,消费者调用rpop取出数据. 这是很自然的行为,然而有时会发现lpush成功,但rpop并没有取到数据,特别是一些客 ...

  6. js中的逗号运算符

    逗号运算符 逗号运算符是二元运算符,它的操作数可以是任意类型.它首先计算左操作数,然后计算右操作数,最后返回右操作数的值,用逗号运算符可以在一条语句中执行多个运算 作用: 1.在一条语句中从左到右执行 ...

  7. vue使用案例,vue初始化,vue初始化方法,vue条件语句,vue在js里面添加元素调用vue方法

     <div id="main" > <button id='but1' type="button" v-on:click="save ...

  8. 在error日志打印异常

    在日志中打印异常,经常会看到以下的写法: logger.error(e.getMessage()); 或者是: e.printStackTrace(); 这两种其实都不太好. e.getMessage ...

  9. 【面向对象】第三单元总结——JML

    梳理JML语言的理论基础.应用工具链情况 JML语言理论基础 JML(Java Modeling Language)是一种行为规范接口语言,通过使用不会被编译的注释形式,和固定关键字的语法,指定Jav ...

  10. Cesium原理篇:GroundPrimitive【转】

    今天来看看GroundPrimitive,选择GroundPrimitive有三个目的:1 了解GroundPrimitive和Primitive的区别和关系 2 createGeometry的特殊处 ...