Ubuntn16.04安装opencv3.1(特别注意环境变量)
参考:http://lib.csdn.net/article/opencv/25737; http://blog.csdn.net/yiranyhy/article/details/72935499; http://tscsh.blog.163.com/blog/static/200320103201382711380403/
1、安装依赖的库
sudo apt-get install build-essential
# 必须的,gcc编译环境
sudo apt-get install cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
# 必须的,包括cmake等工具 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394--dev
# 可选的,看个人需要,总共5M左右
2、下载源码
opencv3.1的下载地址:https://github.com/opencv/opencv/archive/3.1.0.zip
3、使用cmake安装
- 解压源码包,得到opencv-3.1.0.zip
- 然后建立编译目标文件夹
unzip opencv-3.1.0.zip
cd opencv-3.1.
mkdir build
使用cmake生成Makefile :
cd opencv-3.1./build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 生成后的Makefile在build文件夹中,而需要的CMakeLists.txt在 ".."中,即上一级文件夹中(opencv-3.1.)
在Configure过程中,若出现
– ICV: Downloadingippicv_linux_20151201.tgz…
则下载 ippicv_linux_20151201.tgz, 下载地址:http://download.csdn.net/detail/yehuohan/9511463
替换掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b 下的同名文件即可,注意替换后,重新编译
4、安装OpenCv
在opencv3.1.0/build下,终端运行:
make -j4
# 或者make-j8 表示4核8核的4个或8个线程编译
sudo make install
# 安装
5、修改环境变量(非常重要)
安装完后,修改环境变量:
sudo gedit /etc/ld.so.conf.d/opencv.conf
写入/usr/local/lib,保存
sudo ldconfig
sudo gedit /etc/bash.bashrc
在文末增加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存
PS:按照上面的方法进行设置环境变量当然是没有问题的,但是如果在服务器上的时候,每个人自己的路径不一样,可以用下面动态添加的办法:
通过shell命令export实现:
echo $PATH 用于查看当前PATH的值
export PATH=$PATH:#####
用于设置PATH的值
如要将/home/houjx加入到PATH中可以用
export PATH=$PATH:/home/houjx
可看到如下结果:
qgy@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
qgy@ubuntu:~$ export PATH=$PATH:/home/qgy
qgy@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/qgy
qgy@ubuntu:~$
注:但应该注意这样设置(方法二)的PATH变量只是对于现在的Terminal有效,关闭当前的
Terminal在开启一个,其对应的PATH是不变的,还是/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
6、opencv程序测试实例
- 建立文件夹test
- 编写test.cpp
#include <opencv2/opencv.hpp> // 注意:使用"/",和windows不同
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pic.jpg");
if(img.empty())
{
cout<<"error";
return -;
}
imshow("mypic",img);
waitKey();
return ;
}
使用Makefile生成opencv工程
- main.cpp使用之前的即,建立如下Makefile文件
#Makefile #使用g++编译,且以C++11标准
CXX = g++ -Wall -std=c++ #opencv需要的参数
CFLAGS =`pkg-config opencv --cflags` `pkg-config opencv --libs`
#只使用上面这一名,会提示"libippicv.a"这个库找不到,所以自己添加上
UFLAGS = -L /usr/local/share/OpenCV/3rdparty/lib/ -l ippicv #可执行文件名称
TARGET = test #源文件
SOURCE = test.cpp TARGET:
$(CXX) -o $(TARGET) $(SOURCE) $(CFLAGS) $(UFLAGS)
- 然后make,即可编译,接着就可以运行了
cd test #进入test.cpp所在的文件夹 make #进行编译 ./test #生成test可执行文件,运行
Ubuntn16.04安装opencv3.1(特别注意环境变量)的更多相关文章
- Ubuntu 16.04安装JDK/JRE并配置环境变量
作为一个Linux新手,在写这篇文章之前,安装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统.经过几天的研究,今天新装系统,从头来完整配置一遍 系统版本:Ubuntu 16.04 JDK版 ...
- Ubuntu 16.04安装JDK/JRE并配置环境变量【转】
本文转载自:http://www.linuxdiyf.com/linux/30302.html 作为一个Linux新手,在写这篇文章之前,安装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统 ...
- 安装JDK,Python SDK及环境变量的配置
JDK 首先是下载安装包 http://pan.baidu.com/share/link?shareid=3261115669&uk=369127748 一般JDK和Jre是一起安装的,提醒大 ...
- 下载安装JDK,并且配置java环境变量
如果想使用java语言编写程序,就必须搭建一个java开发环境,需要安装jdk,然后配置环境变量. 一:下载jdk 现在的jdk主流的是sun公司的jdk,当然IBM和其他一些商业公司都开发有自己的j ...
- 【java】JDK安装后,没有配置环境变量,也可以java -version查看到版本信息
JDK安装后,没有配置环境变量,也可以java -version查看到版本信息 原因是:jdk安装过程,java.javaw.javaws三个命令被复制到C:\windows\system32目录下 ...
- Linux上安装jdk1.8和配置环境变量
前言 Linux 上安装jdk1.8 和配置环境变量,参考相关文档,本人在此总结,操作归纳如下. 第一步:创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容 ...
- 安装cuda及之后更新环境变量的方法
安装参考:https://www.cnblogs.com/fanfzj/p/8521728.html 更新环境变量: 将 CUDA.CUPTI 和 cuDNN 安装目录添加到 %PATH% 环境变量中 ...
- mac安装mysql数据库及配置环境变量
mac安装mysql数据库及配置环境变量 mac安装mysql数据库及配置环境变量 原文文链接:https://blog.csdn.net/qq_36004521/article/details/80 ...
- Ubuntu16.04安装opencv-3.4.2
原文链接: https://m.oldpan.me/archives/ubuntu-install-opencv-from-source 第一步:更新我们的系统 sudo apt-get update ...
随机推荐
- vue项目导出EXCEL功能
因为一些原因导出EXCEL功能必须前端来做,所以就研究了一下,在网上也找了一些文章来看,有一些不完整,我做完了就记录下来,供大家参考: 1.首先先安装依赖: npm install file-save ...
- 【转载】Kafka介绍及升级经验分享
http://blog.talkingdata.net/?p=3165 背景 当时的现状:开始使用Kafka的时候,使用的版本是0.7.2,当时的目的是为了替代kestrel,主要是使用Kafka来做 ...
- LVS/Nginx/HAProxy负载均衡器的对比分析
转自:http://www.blogjava.net/ivanwan/archive/2013/12/25/408014.html LVS的特点是: 抗负载能力强.是工作在网络4层之上仅作分发之用,没 ...
- 2019-8-2-WPF-依赖属性绑定不上调试方法
title author date CreateTime categories WPF 依赖属性绑定不上调试方法 lindexi 2019-08-02 19:56:32 +0800 2019-8-2 ...
- atom的使用
一,Atom介绍 Atom 是 Github 开源的文本编辑器,这个编辑器完全是使用Web技术构建的(基于Node-Webkit).启动速度快,提供很多常用功能的插件和主题,可以说Atom已经足以胜任 ...
- druapl-note1 本地开发上传模块不提示Ftp的警告
刚安装完drupal之后,通过drupalxray 看到其它drupal网站安装的一些模块,下载好模块并安装时,提示需要输入Ftp信息. 但是本地开发不输入Ftp信息的(也不清楚自己的系统是否开启Ft ...
- P4860 Roy&October之取石子II
4的倍数不行,之间的数都可以到4的倍数,而6的倍数不能到4的倍数 #include <iostream> #include <cstdio> #include <queu ...
- Django之深入了解ORM
目录 Django ORM操作 常用字段 常用字段参数 自定义字段 单表操作 双下划线查询 模糊查询 多表操作 一对多字段数据的操作 多对多字段数据的操作 跨表查询 基于对象的跨表查询 基于双下划线的 ...
- 洛谷P1291 [SHOI2002]百事世界杯之旅
题目链接: kma 题目分析: 收集邮票的弱弱弱弱化版,因为是期望,考虑倒推 设\(f[i]\)表示现在已经买齐了\(i\)种,距离买完它的剩余期望次数 那么下一次抽有\(\frac{i}{n}\)的 ...
- 为WCF增加UDP绑定(储备篇)
日前我开发的服装DRP需要用到即时通信方面的技术,比如当下级店铺开出零售单时上级机构能实时收到XX店铺XX时XX分卖出XX款衣服X件之类的信息,当然在上级发货时,店铺里也能收到已经发货的提醒.即时通信 ...