cmake+vs2008+opencv学习

        学习的缘由是最近从网上下载一个saliency detection的论文,附带有源代码,c++版本的,实在是想运行一下,看看结果。因此着手搭建程序的运行环境,在论文的说明文档对此有一些介绍,涉及cmake,opencv,及tbb(可选的,多线程的辅助软件)。个人猜测代码的编译环境是基于Linux的,由于没有涉及过Linux,因此决定在Windows下搭建一下环境。花费了一天时间,到目前为止,程序还没有编译成功。现在将一天做的事情简单做个回顾,以备后面查看。

        首先,阅读了一篇博客《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_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值