1、到opencv官网下载源码
也可以下载此链接http://pan.baidu.com/s/1mgId5ZM
2、解压到任意目录
可以使用右键-提取到此处,也可以在命令行中使用指令解压(linux中解压指令见本人博客http://www.cnblogs.com/apolloenterprise/p/4549314.html)
假设解压到 /usr/local/opencv 目录
此目录中会有 cmakelist.txt文件
此时需安装些东西
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
3、进入此目录,创建release文件夹
mkdir release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. (第一过程)
sudo make install (第二过程)
安装过程中遇到的问题:
(1)EIGEN(第二过程中)
fatal error: Eigen/Eigenvalues: No such file or directory
# include <Eigen/Eigenvalues>
打开 CMakeLists.txt 将EIGEN的内容注释掉
(2) IPP(第一过程中)
IPP相关下载失败
编译代码改为: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= /usr/local/ -D WITH_IPP=OFF ../
其他问题可参见:http://www.douban.com/note/433807086/
4、测试
在某一目录下创建 DisplayImage.cpp
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main(int argc, char* argv[])
{
Mat image;
image = imread(argv[1], 1);
if (argc != 2 || !image.data)
{
printf("No image data\n");
return -1;
}
namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
imshow("Display Image", image);
waitKey(0);
return 0;
}
同一目录下创建,CMakeLists.txt
project(DisplayImage)
find_package(OpenCV REQUIRED)
add_executable(DisplayImage DisplayImage)
target_link_libraries(DisplayImage ${OpenCV_LIBS})
cmake_minimum_required(VERSION 2.8)
命令行执行
cmake .
make (当前生成有问题)
./DisplayImage lena.jpg