首页 > 代码库 > Ubuntn16.04安装opencv3.1(特别注意环境变量)
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.0-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-22-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.0 mkdir build
使用cmake生成Makefile :
cd opencv-3.1.0/build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. # 生成后的Makefile在build文件夹中,而需要的CMakeLists.txt在 ".."中,即上一级文件夹中(opencv-3.1.0)
在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
可看到如下结果:
houjx@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
houjx@ubuntu:~$ export PATH=$PATH:/home/houjx
houjx@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/houjx
houjx@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 -1; } imshow("mypic",img); waitKey(); return 0; }
使用Makefile生成opencv工程
- main.cpp使用之前的即,建立如下Makefile文件
#Makefile #使用g++编译,且以C++11标准 CXX = g++ -Wall -std=c++11 #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 opencv-3.1.0/build #进入build文件 make #进行编译 ./test #生成test可执行文件,运行
Ubuntn16.04安装opencv3.1(特别注意环境变量)