参考: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可执行文件,运行

最新文章

  1. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库
  2. node.js之path
  3. C# 使用memcache(memcache安装)
  4. zepto源码--核心方法3(属性相关)--学习笔记
  5. Entity Framework版本历史概览
  6. Echarts事件
  7. snv的绑定,检出,同步
  8. 【DataStructure In Python】Python模拟链表
  9. 基于visual Studio2013解决算法导论之027hash表
  10. Python之数据类型-[bisect,heap]
  11. HDU 4333 Revolving Digits
  12. CentOs下 SVN版本控制的安装(包括yum与非yum)
  13. android studio 转为eclipse快捷键后还存在的问题汇总
  14. 二 Struts2 接收数据
  15. Mock5 moco框架中post请求如何加入cookies
  16. python基础知识点(unittest)
  17. Linq To Xml操作XML增删改查
  18. HDU 5726 GCD(RMQ+二分)
  19. python java scala 单例模式
  20. java中this$0 this$1 this$2

热门文章

  1. MATLAB 中自定义函数的使用
  2. google浏览器插件开发
  3. 2019-9-2-win10-uwp-弹起键盘不隐藏界面元素
  4. [JZOJ3293] 【SHTSC2013】阶乘字符串
  5. [JZOJ4648] 【NOIP2016提高A组模拟7.17】锦标赛
  6. watchbog再升级,企业黄金修补期不断缩小,或面临蠕虫和恶意攻击
  7. 第八章 Odoo 12开发之业务逻辑 - 业务流程的支持
  8. 19-11-06-&amp;
  9. Android之TableLayout表格布局
  10. XJOI夏令营501训练1——分配工作