opencv2.4.10+VS2012配置

作为opencv的初学者,第一个难题想必都一样,如何配置opencv+VS的环境呢?在网上的教程,铺天盖地,但我仍然是尝试了十几次才找到属于自己的那套配置方式。现在,我就大致总结一下,即是对自己配置opencv的方式记录,也希望给更多初学者带来便利。配置opencv2.4.10+VS2012大致分为5个步骤:

1.下载并安装opencv2.4.10的sdk

opencv2.4.10在http://opencv.org/官网便有下载。这时候初学者往往会犯第一个错误,就是下载source文件。其实不然,source文件是源文件,其中还包含了很多sample历程,但是对我们使用opencv而言,并不需要调用它们,source文件只是供我们查阅的。绝大多数人,都是基于windows平台使用opencv的,所以,此时我们需要选择的是win pack安装包。

win pack安装包下载后,extract后,选择自己需要安装的文件夹,个人建议文件夹取名为opencv+版本号。下载后,文件自身会产生一个opencv的文件目录,目录下面有两个子目录,一个是build,一个是source。source文件还是跟上面所说一样,而我们真正需要使用是build文件。下载安装完成后,记住安装后存放的路径,接下来,我就要用build文件来构建我的opencv2.4.10+VS2012的编程环境了。

2.配置系统的环境变量

系统的环境变量想必大家都配置过,但一定要注意一点,我们只能在环境变量后添加;和路径,不能更改了环境变量。如果不小心自己改了,就自求多福吧。

这步配置的方法如下:

计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。

1.  对于32位系统,就添加:

”…… opencv\build\x86\vc10\bin”

2.而对于64位系统,可以两个都添加上:

”…… opencv\build\x86\vc10\bin”

和”…… opencv\build\x64\vc10\bin”,

这样,到时候才可以在编译器Win32和X64中来回切换。

例如,我的就是

E:\opencv2.4.10\opencv\build\x86\vc11\bin;E:\opencv2.4.10\opencv\build\x64\vc11\bin

注:此处需要注意的是,路径一定要到bin文件下的执行目录。

3.工程包含(include)目录和库目录(Lib)的配置

在项目中右击属性,进入VC++目录添加包含目录,操作图如下:

包含目录,添加opencv库中的build的文件夹下中include以及include\opencv和include\opencv2。

库目录,添加opencv库中X86目录下,VC11的lib文件夹。

注:X86代表使用的是win32的编译器,跟使用计算机的位数无关;

VC11对应的是VS2012;

lib文件夹即是库目录。

4.在链接器中“输入”添加附加依赖项

针对我使用的opencv2.4.10版本,我需要添加进去的依赖项如下所示:

opencv_ml2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib

在这处,我要大致说说编程的流程以便于理解。

一个编程的基本流程包括编辑、编译和连接三大步骤。编辑的过程,即程序员敲写代码规范格式的过程;编译的过程,则需要工程包含(include)目录和库目录(Lib)的配置;连接的过程则需要在链接器中“输入”添加附加依赖项。

这4个步骤完成后,我们便可以愉快地开始编写我们的opencv+vs2012的图像处理的程序了。

最新文章

  1. iOS 键盘遮挡输入 解决办法
  2. 偶遇STM32 JTAG和SWD口(调试)被禁用无法下载,已经粗暴解决!
  3. Ubuntu下编译运行C#——mono tools
  4. H5实现的可自定义贪吃蛇游戏
  5. Android -- Looper.prepare()和Looper.loop() —深入版
  6. JQuery Delay Hover效果
  7. struts_22_xwork校验器列表使用说明
  8. 如何在Netbeans中查看TODO项
  9. Redis学习笔记(十)——过期时间、访问限制与缓存
  10. C#中常见的winform控件命名规范
  11. i++与++i的区别
  12. python多线程抓取网页信息
  13. if语句求三个数中最大的
  14. hdu Text Reverse
  15. async & await 的用法
  16. [UWP]了解TypeConverter
  17. Nginx+Tomcat 配置负载均衡集群
  18. Nginx 关闭日志生成文件
  19. Spring Data JPA 常用注解 @Query、@NamedQuery
  20. Web应用程序项目XXXX已配置为使用IIS。无法访问IIS 元数据库。您没有足够的特权访问计算机上的IIS

热门文章

  1. CH收藏的书
  2. [agc014d] Black and White Tree
  3. 使用github和hexo搭建静态博客
  4. 学习TypeScript,笔记一:TypeScript的简介与数据类型
  5. [转][Unity3D]引擎崩溃、异常、警告、BUG与提示总结及解决方法
  6. RNA-seq分析htseq-count的使用
  7. C++_类和动态内存分配1—动态内存和类
  8. docker 镜像的配置文件修改
  9. 【KMP】【字符串】KMP字符串匹配算法 学习笔记
  10. 洛谷P2709 小B的询问