linux安装及配置c++的opencv库

前言:

最近想搞个机器视觉的比赛,要求是linux+opencv环境,没有做过opencv开发的我配置环境就配了两天,看来很多乱七八糟的博客,终于装好了。网上的大神的博客太详细,太麻烦,还不通用,所以学习了这么多经验后写这篇博客分享给和我一样的入门级选手,重复一遍,这是一篇为入门选手提供便利的博客。

下面有一个步骤出现的问题,我忘记是哪一个步骤了,好像是CMakeCache.txt文件相关,好像把这个文件删掉就行了。解决方法

我的环境:

os:ubuntu16.4.5-amd64

gcc:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609

opencv:OpenCV-3.4.5下载地址

g++:g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609

步骤:

1、更新ubuntu上的软件源,不要担心,中端里执行两个命令就行

命令一:sudo apt-get update

命令二:sudo apt-get upgrade

第二个命令可能会出现错误:sudo apt-get grade Could not get lock /var/lib/dpkg/lock - open (11: Resource.....解决方法

2、安装cmake(用来搭建opencv的,不管了执行两个命令就行)

  1. 命令一:sudo apt-get install cmake
    命令二:sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

这步我记得是没出问题的,如果出了也是很容易解决,应该百度一下就能解决。以下同理,我没有说明的就不会有麻烦的问题出现。

3、下载解压opencv(博客开头已给出链接)

解压后如图(其中的release文件夹是下一步自己建的)

4、设置cmake参数(别担心,还是继续傻瓜式运行命令)

在解压后文件夹里新建release文件夹,在在终端里进入release文件夹(也可以直接在release文件夹内右键打开Terminal)。

要运行的命令(不要漏掉空格和两点,下面两个命令随便运行一个不报错就行):

  1. sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
    或者直接采用默认
    sudo cmake ..

5、编译opencv(还是只要运行命令)

  1. 这时终端(Terminal)的路径还是在release文件夹内
    sudo make
    sudo make install

6、配置环境变量(这是唯一有点麻烦的一般,特别是不会vim操作的话)

  1. sudo gedit /etc/ld.so.conf.d/opencv.conf(可自行创建)
    末尾添加一行:/usr/local/lib

    sudo ldconfig       # 更新一下系统的共享链接库
    sudo gedit /etc/bash.bashrc
    末尾添加一行:
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  1. vim /etc/bash.bashrc         #vim编辑文件(不会vim可能有难度)
    # 在文件末尾加入
    export LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.2/release/lib:$LD_LIBRARY_PATH
    #上面保存退出vim后再运行以下命令:
    source /etc/bash.bashrc

上面设计vim编辑器的使用,如果不会又不愿百度学习的话可以用gedit编辑器,即把命令vim /etc/bash.bashrc改成gedit /etc/bash.bashrc

如果编辑完文件后提升保存失败(英文提示文件为只读,可以百度一下chmod命令的使用,把文件权限改为777就行,具体百度以下吧),提供参考链接菜鸟或者chmod命令的博客

7、试运行使用了opencv的c++代码

怎么编译运行代码详见博客

可能还涉及一个g++的安装,也就一个命令而已,自行百度吧。

我的运行结果如下:

linux安装及配置c++的opencv库的更多相关文章

  1. Linux 安装oracle10g 配置dataguard 介绍和步骤

            DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database.从Oracle 9i开始,正式更名为Data Guard.它是在 ...

  2. Linux 安装及配置 Nginx + ftp 服务器

    Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...

  3. 基于深度学习的人脸识别系统Win10 环境安装与配置(python+opencv+tensorflow)

    一.需要下载的软件.环境及文件 (由于之前见识短浅,对Anaconda这个工具不了解,所以需要对安装过程做出改变:就是Python3.7.2的下载安装是可选的,因为Anaconda已经为我们解决Pyt ...

  4. Arch Linux 安装、配置、美化和优化

    国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...

  5. Microsoft SQL Server for Linux安装和配置

    虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...

  6. Linux学习(一)--VMware下Linux安装和配置

    本片随便将给大家讲述linux在VM虚拟机上安装及终端的安装和配置 一.Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线 ...

  7. Redis - (Linux)安装与配置

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: 1:Redis支持数据的持久化,可以将内存 ...

  8. linux安装和配置 mysql、redis 过程中遇到的问题记录

    linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starting MySQL.The serv ...

  9. deepin linux安装与配置

    作者:相思羽  出处:http://www.cnblogs.com/xiang-siyu 欢迎转载,也请保留这段声明.谢谢! deepin linux是由深度开发的操作系统,基于debian,内置了搜 ...

随机推荐

  1. Java并发编程原理与实战八:产生线程安全性问题原因(javap字节码分析)

    前面我们说到多线程带来的风险,其中一个很重要的就是安全性,因为其重要性因此,放到本章来进行讲解,那么线程安全性问题产生的原因,我们这节将从底层字节码来进行分析. 一.问题引出 先看一段代码 packa ...

  2. 浅谈ASP.net处理XML数据

    XML是一种可扩展的标记语言,比之之前谈到的html有着很大的灵活性,虽然它只是与HTML仅有一个字母只差,但两者有很大的区别. XML也是标记语言,所以它每个标签必须要闭合,而HTML偶尔忘了闭合也 ...

  3. 高效使用jquery之一:请使用'On'函数

    on函数是在jquery 1.7 加入的 描述: 在选定的元素上绑定一个或多个事件处理函数. 定义:.on( events [, selector ] [, data ], handler(event ...

  4. LintCode 407: Plus One

    LintCode 407: Plus One 题目描述 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组. 该数字按照位权大小进行排列,位权最大的数在列表的最前面. 样例 给定 ...

  5. 【leetcode 简单】 第七十二题 各位相加

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所 ...

  6. Django进阶(路由系统、中间件、缓存、Cookie和Session、Ajax发送数据

    路由系统 1.每个路由规则对应一个view中的函数 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P&l ...

  7. JavaScript 实用技巧和写法建议

    1.前言 从大学到现在,接触前端已经有几年了,感想方面,就是对于程序员而言,想要提高自己的技术水平和编写易于阅读和维护的代码,我觉得不能每天都是平庸的写代码,更要去推敲,去摸索和优化代码,总结当中的技 ...

  8. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  9. ArcGIS RunTime Sdk +WPF 基础地图显示

    1 简单的地图展示 ArcGISRunTime 的平面地图展示主要依赖MapView这个控件,MapView是地图的容器,Map主要是图层的集合 (注:三维场景的显示主要依赖SceneView这个控件 ...

  10. RobotFramework基本用法(二)

    双击打开C:\Python27\Scripts目录下的 ride.py 一,定义变量,打印 1,右键File-->New Poreject,在项目下右键New suite,在套件下右键 New ...