Ubuntu安装OpenCV 3.0以及Python接口

#系统环境
Ubuntu系统版本:Ubuntu Kylin 14.04 (32位)
OpenCV软件版本:opencv-3.0.0

#OpenCV下载
进入OpenCV官网
在右侧选择 OpenCV for Linux/Mac

#安装步骤

##安装OpenCV所需的库(编译器、必须库、可选库)

1
2
3
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

##使用CMake编译OpenCV
详细的图文教程可参考此处[3]

假设下载文件到以下路径

/home/<your username>

1
unzip opencv-3.0.0.zip
1
cd /usr/local/opencv-3.0.0
1
mkdir build
1
cd build

注意此时文件夹的目录/usr/local/opencv-3.0.0/build
cmake处如果开着lantern可能会出现下载错误,请关闭lantern。

1
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

这里别忘了最后的两个点..,最后一个参数是项目源码所在目录,此处的项目源码所在目录恰好是上级目录,即为..

1
make

这里可以在之后加参数加快编译速度,例如make -j4

1
sudo make install

安装opencv额外项目

需要git clone 该项目https://github.com/Itseez/opencv_contrib

1
2
3
$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5

举个例子

1
cmake -DOPENCV_EXTRA_MODULES_PATH=/home/anonymous/下载/opencv_contrib/modules ..

##测试OpenCV
1) 创建工作目录

1
2
3
mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp

2) 编辑如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}

3) 创建CMake编译文件

1
gedit CMakeLists.txt

写入如下内容

1
2
3
4
5
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

4) 编译

1
2
3
cd ~/opencv-lena
cmake .
make

5) 执行

此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg(或者其他任意图片)放在opencv-lena下,运行

1
./DisplayImage lena.jpg

查看opencv版本

1
pkg-config --modversion opencv

动态链接库文件默认在/usr/local/lib

例如

1
2
libopencv_ts.so.2.4
libopencv_ts.so.2.4.5

头文件默认在/usr/local/include/opencv

例如

1
2
cvaux.h
cv.h

##安装python接口
可直接使用apt安装

1
2
sudo apt-get install python-opencv
sudo apt-get install python-numpy

测试:

打开python,import cv模块成功即可。

import cv

查看opencv-python使用的opencv版本

1
2
import cv
print cv2.__version__

#参考资料
[1] 官方参考文档
[2] http://www.linuxidc.com/Linux/2015-05/116960.htm
[3] 详细的图文教程
[4] http://www.douban.com/note/478450231/
[5] OpenCV 3.0 Visual Studio配置
[6] linux下查看opencv版本