本方法在 Ubuntu 12.04、12.10、13.04、13.10 下均有效。
尽量使用图形界面可交互的配置方法,简化命令行的使用。
一、准备篇
1、下载 OpenCV
或者使用 git clone下来:https://github.com/Itseez/opencv
至本地目录,比如 .../OpenCV/Source/ 目录。
2、安装运行库
Ctrl + Alt + T 打开终端,执行命令
$ sudo apt-get install build-essential
3、安装 CMake
在这里我们选择安装 cmake-gui,可以为我们免去一些用命令行编译的麻烦
$ sudo apt-get install cmake-gui
4、安装 Qt-Creator
我们选择 Qt-Creator作为Linux下的编译环境,因为个人习惯问题,而且Qt-Creator可以直接打开CMakeLists
一个简单的方法是直接在 Ubuntu Software Center 安装~简单方便。
5、一些可选第三方库
(1) Eigen:Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
到 http://eigen.tuxfamily.org/index.php?title=Main_Page#Download 下载最新版 Eigen,解压至比如 .../OpenCV/Dep/ 目录。
(2) qt 库:用于给 HighGui 提供一个更好的显示界面和一些简单的控件
到 http://download.qt-project.org/official_releases/qt/5.1/5.1.1/single/qt-everywhere-opensource-src-5.1.1.tar.gz.mirrorlist
找个速度快的镜像下载 qt-everywhere-opensource-src-5.1.1.tar.gz,解压至 .../OpenCV/Dep/ 目录,按照 README 安装。
貌似在使用 Ubuntu Software Center 安装 Qt-Creator 时,在 Optional add-ons 里可以选择 Qt5 development defaults package,也可以安装 Qt5。
(3) INTEL TBB 库 :多线程优化,由于一直没配成功TBB库,留做待续。
二、编译篇
1、打开CMake-gui
Where is the source code:选择下载的OpenCV源码目录
Where to build the binaries:新建一个目录,这里假定它为 ...OpenCV/Build/
点击 Configure
如图,选择Unix Makefiles,点击Finish
出现上图界面后,勾选需要的选项,比如可勾选
BUILD_JPEG
BUILD_OPENEXR
BUILD_PNG
BUILD_TIFF
EIGEN_INCLUDE_PATH // 如果使用 Eigen 的话,这项填入 Eigen 的 include 文件夹地址
ENABLE_SOLUTION_FOLDER
WITH_OPENGL
WITH_QT // 如果要用Qt界面的话,这项需要勾选
再点 Configure,看是否还有红色,有红色需要解决,解决后再点 Configure,直到无红色为止。
检查下面的输出是否包含自己想要的项目。比如
点击 Generate。结束
2、编译
打开终端,切换到 ...OpenCV/Build/ 目录,执行命令
$ make
大概需要几十分钟的时间,等待编译完成。
最后,执行命令
$ sudo make install
大概一分钟时间,等待安装结束。
三、测试篇
好了,现在 OpenCV 已经配置到你的电脑上了,下面编写个最简单的小程序进行测试。
建立一个工作文件夹,比如叫 .../DisplayImage/,在该目录下新建一个文本文档,命名为 CMakeLists.txt(一定不能错)
输入以下代码
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
新建一个 .cpp 文件,命名为 DisplayImage.cpp
打开 Qt-Creator,选择 Open file or project,打开刚刚建立的 CMakeLists.txt
选择 Build directory 为任意你喜欢的文件夹,这是产生可执行文件等一系列文件的地方,推荐在当前目录下新建/build/,next。
点击 Run CMake,无错误弹出,点击 Finish。
这时就可以找到你的 工程目录 和 DisplayImage.cpp 文件了。
在 DisplayImage.cpp 中输入以下代码
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread(" /**一张图片的地址**/ ");
namedWindow("DisplayImage",WINDOW_AUTOSIZE);
imshow("DisplayImage", img);
waitKey();
}
然后编译运行,就能看到这张美丽的图片了~