1、下载CMake。
http://www.cmake.org/cmake/resources/software.html。下载二进制分发包,如下图所示:
2、下载OpenCV
下载地址:http://opencv.org/。到目前(2014年5月30日)最新的版本是Version 2.4.9,保存下载的文件opencv-2.4.9.exe,双击运行,可以将内容提取到指定的文件夹。
3、确保已正常安装Qt(截止目前最新版5.3.0),安装很简单,具体方法就不写了。
4、添加Qt的环境变量:
C:\Qt\Qt5.3.0\5.3\mingw482_32\bin
C:\Qt\Qt5.3.0\Tools\mingw482_32\bin
C:\Qt\Qt5.3.0\Tools\mingw482_32\i686-w64-mingw32\bin
具体路径请见Qt实际的安装目录。
5、打开CMake,用CMake来编译OpenCV。
配置源码路径和生成路径。源码路径就是从opencv-2.4.9.exe里提取到的路径。生成路径可以自己制定,比如我这里路径是.../OpenCV_CompileResult。具体参见下图:
6、点击Configure,下拉菜单选择MinGW Makefiles,下面的4个选项就选择默认的第一个。CMake用到的参数会到环境变量里去找。
8、以下是Configure的过程。
9、Configure结束,会出现粉红色背景的各种选项。拖动滑块到页面下部位置,找到以下两个选项:WITH_OPENGL,WITH_QT,在其后的勾选框内点击打钩。
10、然后点击generate按钮,开始生成makefile文件。
生成成功后,页面底部会提示Generating done。这时,这个CMake窗口可以关闭了。
11、打开命令窗口,用cd命令转到刚才我们设置的目标路径下。输入命令mingw32-make开始编译。这个过程比较漫长,根据电脑配置,从30分钟到60分钟不等。
编译结束的情况:
12、接下来,输入mingw32-make install命令:
13、编译结束,提取我们需要的库文件。
1,OpenCV提取目录下的build/include目录,我的目录是:D:\Work\Video\opencv\build\include
2,CMake目标路径下,MinGW编译后的bin目录,我的目录是:D:\Work\Video\SelfCompile\OpenCV_CompileResult\bin
3,CMake目标路径下,MinGW编译后的lib目录,我的目录是:D:\Work\Video\SelfCompile\OpenCV_CompileResult\lib
将这3个文件夹拷贝出来放到一起,其他的文件没用啦,可以删除。
14、将MinGW编译后的bin目录添加到PATH环境变量。
15、下面我们可以测试一下,OpenCV库是否编译成功。
打开Qt,新建一个空的Qt项目,在pro文件中输入:
16、在Qt里新建一个main.cpp文件,在其中输入以下代码:
#include"cv.h"
#include"cxcore.h"
#include"highgui.h"
int main()
{
//声明IplImage指针
IplImage *pImg;
//载入图片
pImg=cvLoadImage("E:/qt project/sd4/text.jpg",1); //图片路径
//创建窗口
cvNamedWindow("Image",1);
//显示图像
cvShowImage("Image",pImg);
//等待按键
cvWaitKey(0);
//销毁窗口
cvDestroyWindow("Image");
//释放图像
cvReleaseImage(&pImg);
return 0;
}
编译运行,这时会发现debug窗口出现错误提示,
TestOpenCV_Qt.exe crashed
但从资源管理器进入debug目录,双击运行已经生成的TestOpenCV_Qt.exe文件,这时会弹出以下文件:
至此,OpenCV库配置成功。