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的,不管了执行两个命令就行)

命令一: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)。

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

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(还是只要运行命令)

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

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

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
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. C#: Delegate and Event

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. window对象中的一些重要的属性和方法(笔记)

    setTimeout()方法用来实现一个函数在指定的毫秒数之后运行:setTimeout()返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行.由于历史原因,setTime ...

  3. HDU 2058 The sum problem 数学题

    解题报告:可以说是一个纯数学题,要用到二元一次和二元二次解方程,我们假设[a,b]这个区间的所有的数的和是N,由此,我们可以得到以下公式: (b-a+1)*(a+b) / 2 = N;很显然,这是一个 ...

  4. Python练习-跨目录调用模块

    层级结构: dir1 ---hello.py dir2 ---main.py 其中,hello.py: def add(x,y): return x+y main.py如何能调用到hello.py中的 ...

  5. react 带参数事件方法不立即执行

    handleClick:()=>{this.to_step('to_step3_2')}}

  6. 弹性盒模型justify-content属性

    justify-content是应用于父容器上来规定子元素在水平方向上的对齐方式的. flex-start 左对齐 flex-end 右对齐 center 居中 space-betten 两端对齐,两 ...

  7. 20165230 2017-2018-2 《Java程序设计》第8周学习总结

    20165230 2017-2018-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十二章 java多线程机制 一个进程在其执行过程中,可产生多个线程.线程是比进程更小的执行 ...

  8. torch.nn.CrossEntropyLoss

    class torch.nn.CrossEntropyLoss(weight=None, size_average=True, ignore_index=-100, reduce=True) 我这里没 ...

  9. linux sigaction 函数 用法释义

    使用 sigaction 函数: signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受 到了一定的限制.而 POSIX 标准定义的信号处 ...

  10. BZOJ4840 NEERC2016 Binary Code

    Problem BZOJ Solution 可能是因为快要省选了,所以最近更博的频率好像高了点_(:зゝ∠)_ 每个字符串最多有两个状态,然后要满足一些依赖关系,考虑2sat.可以先把字符串的结束节点 ...