首先,阅读了一篇博客《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》,博客内容主要是建立opencv程序的可调试环境。可以直接利用vs2012+opencv创建opencv程序,没有试过不用博客的方法,是否可以对opencv代码进行调试?在此基础上,验证了两个小程序,分别在win32控制台和ATL控制台程序下进行测试,读入一个图片并显示。两种方案,
#include "stdafx.h" #include <opencv2\opencv.hpp> using namespace cv; using namespace std; int main() { Mat img = imread("c:/pp.jpg"); if(img.empty()) { cout<<"error"; return -1; } imshow("pp的靓照",img); waitKey(); return 0; }或者
#include "stdafx.h"
#include <string>
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
IplImage *img=cvLoadImage("d:/hello.bmp");
if (!img)
{
printf("error");
return 1;
}
cvNamedWindow("Image:",CV_WINDOW_AUTOSIZE);
cvShowImage("Image:",img);
cvWaitKey(0);
cvDestroyWindow("Image");
cvReleaseImage(&img);
return 0;
}
第一种方案与matlab类似,更直观一些,其实第一种方案调用的就是第二种方案里边的形式。
于是,接下来又阅读一篇博客《一起学习CMake》,博客内容介绍如何利用cmake生成简单.cpp文件的编译方案,生成编译方案后直接利用vs2008来编译运行。
第三个内容是按照cygwin,cygwin是windows下运行的模拟unix的软件包,里边包含了各种模块,其中就有gcc和mingw。如果想安装gcc,那么在安装过程cygwin时,应该选中gcc选项,默认情况下,gcc是不被安装的。具体参看百度文档《win平台下的cygwin安装gcc》。
结束语,cmake很强大,与.gcc后缀的makefile文件类似,能同时编译多个主程序 ,可能功能上更强大些。有待继续学习和验证。
参与资料:
1.《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》,http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html
2.《一起学习CMake》,http://blog.163.com/jacky_ling0/blog/static/1373925712011072375418
3.《win平台下的cygwin安装gcc》,http://wenku.baidu.com/link?url=TW_0L3aBYdDU5sBOhKrX5UDXSBFJmIpMcAd8KtNCzyRIAngRA87-nN8rm8jSjeuZsLHKGaKDU_t_aA13GVaUJW3dR9UIQ79Pb3v0212-cT_