linux安装及配置c++的opencv库
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库的更多相关文章
- Linux 安装oracle10g 配置dataguard 介绍和步骤
DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database.从Oracle 9i开始,正式更名为Data Guard.它是在 ...
- Linux 安装及配置 Nginx + ftp 服务器
Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...
- 基于深度学习的人脸识别系统Win10 环境安装与配置(python+opencv+tensorflow)
一.需要下载的软件.环境及文件 (由于之前见识短浅,对Anaconda这个工具不了解,所以需要对安装过程做出改变:就是Python3.7.2的下载安装是可选的,因为Anaconda已经为我们解决Pyt ...
- Arch Linux 安装、配置、美化和优化
国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...
- Microsoft SQL Server for Linux安装和配置
虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...
- Linux学习(一)--VMware下Linux安装和配置
本片随便将给大家讲述linux在VM虚拟机上安装及终端的安装和配置 一.Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线 ...
- Redis - (Linux)安装与配置
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: 1:Redis支持数据的持久化,可以将内存 ...
- linux安装和配置 mysql、redis 过程中遇到的问题记录
linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starting MySQL.The serv ...
- deepin linux安装与配置
作者:相思羽 出处:http://www.cnblogs.com/xiang-siyu 欢迎转载,也请保留这段声明.谢谢! deepin linux是由深度开发的操作系统,基于debian,内置了搜 ...
随机推荐
- JS设计模式——7.工厂模式(示例-RSS阅读器)
RSS阅读器 由于我们只想跟RSS容器对象打交道,所以用一个工厂来实例化这些内部对象并把它们组装到一个RSS阅读器中. 使用工厂方法在好处在于,我们创建的RSS阅读器类不会与那些成员对象紧密耦合在一起 ...
- bootstrap-datetimepicker中设置中文
1.引入插件文件,同时引入相应的语言文件 <script src="bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.j ...
- 关于java线程锁synchronized修饰普通方法与静态方法的区别
最近研究线程方面问题,关于这个synchronized锁修饰的问题,先是修饰普通方法,然后通过两个线程,各自执行自己对象的锁,发现方法执行互不影响,代码如下: private static int n ...
- HTTP::Request 用 add-content 添加 POST参数
sub MAIN($cmd) { use HTTP::UserAgent; my $r = HTTP::Request.new(); $r.uri: 'http://localhost/a.php'; ...
- 谈谈Linux内核驱动的coding style【转】
转自:http://www.cnblogs.com/wwang/archive/2011/02/24/1960283.html 最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离 ...
- 磁盘性能分析之iotop
一.安装. yum install iotop [root@localhost tmp]# iotop -o iotop命令的键盘快捷键: 1.左右箭头改变排序方式,默认是按IO排序 2.r键是反向排 ...
- 【前端vue开发】vue子调父 $emit (把子组件的数据传给父组件)
ps:App.vue 父组件 Hello.vue 子组件 <!--App.vue :--> <template> <div id="app"> ...
- 两行代码搞定js对象深浅拷贝
有一段时间没有更新博客了,忙于工作.2018年刚过去,今天来开启2018第一篇博文.好了,咱们步入正题. 先上代码 /** * 遍历对象 * 1.判断是不是原始值 * 2.判断是数组还是对象 * 3. ...
- OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换
1:读入图像,显示图像与保存图像 代码: import cv2 img=cv2.imread('lena.jpg',cv2.IMREAD_COLOR) cv2.namedWindow('lena',c ...
- opencv(1)图像处理
2.图像操作 图片裁剪 裁剪是利用array自身的下标截取实现 HSV空间 除了区域,图像本身的属性操作也非常多,比如可以通过HSV空间对色调和明暗进行调节.HSV空间是由美国的图形学专家A. R. ...