opencv2.2与vs2005的那点事

  设计要求做图形界面。内容是对图片进行处理。简单的来说是图像源是没格式头的灰度图像,给的是dat的2进制数据。要求将数据读出并显示出来,其中涉及缩放和拼接的图像处理工作。从网上看了些相关材料,最后就选用opencv来做了。

  最新的opencv版本是2.2,下载地址http://www.opencv.org.cn/index.php/Download这个地址是opencv的中文网站。其上有详细的安装教程。opencv2.2对VS2010做了优化,或者说对VS2010适应很不错。这次却是要求使用VS2005开发环境。原本想没啥区别,可按教程一步步下来,出错是必需的。

  先简单说说下载下来opencv安装在英文目录下(其实中文目录下能安装,但按照惯例,能安装不代表能运行)。然后使用Cmake,编译器选VS2005.这在教程上都有:http://www.opencv.org.cn/index.php/VC_2005_Express%E4%B8%8B%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AEOpenCV1.0。然后使用对应VS编译一遍。

  此时,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)将出现在bin目录中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)将出现在lib目录;头文件*.h出现在include中。在然后是将bin目录加入到系统默认路径中。windows系统是在系统属性的高级设置中加入。最后是将lib和include包含进工程。这些都是在教程中有的。

  问题来了,这样设置后。将安装后的example运行,会发现出错。提示无法打开*.h。可明明将include文件夹路径包含进去了的。在网上找了很多案例。发现用VS2008以下的都是以使用opencv1.0为案例的。难道VS2005不能使用新版本了?

  答案是确定的,能使用。

  我比较了opencv1.0和opencv2.2.发现其目录结构发生了改变。在1.0时代的include下是*.h的头文件,而opencv2.2时,却是opencv和opencv2.2的两个文件夹。据文档介绍是为了向下兼容而作出的改变。但会发现在VS2005编译时,系统在不出*.h的文件,因为include下只有2文件夹没有头文件。

  设置可以按照之前的设置。再将opencv2.2安装下的include/opencv下的头文件复制一份到include下。再试试,是不是可以使用了,呵呵。

  其实,使用opencv2.2时使用VS2010更好。或者使用VS2005+opencv1.0都不错。就没有以上为题了。但既然发现问题了,就记下解决方法,以资来者。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值