昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了。一直想做和图像处理相关的东西,趁这段时间有空学习一下OpenCV,搭建环境真是一件麻烦的事情,搞了近三个小时终于OK了。先来张图:

大致描述一下步骤吧:

一、安装前准备

1、VS2012(网上看到很多用的VS2010,但是基本不影响)

2、OpenCV 安装包(我下载的是最新的2.4.9)

二、安装OpenCV

    1、解压OPenCV

     说是安装,其实就是解压,OpenCV的Windows安装程序就是一个自解压程序:

这里我解压到C:\Program Files(你也可以解压到你喜欢的目录下面)

解压后会自动创建opencv目录,不需要手动创建。解压后的大小大约3.7G,解压需要保证足够的空间:

    2、配置环境变量

计算机->属性->搞基系统设置->环境变量

在Path后面添加:C:\Program Files\opencv\build\x86\vc12\bin 注意环境变量是以英文分号(;)分隔的.

三、创建一个测试工程

1、在VS2012中创建一个VC++空项目

2、新建一个C++文件,命名为:Test.cpp

将下面的代码复制到Test.cpp文件中

  1: #include<iostream>
  2: #include <opencv2/core/core.hpp>
  3: #include <opencv2/highgui/highgui.hpp>
  4: 
  5: 
  6: using namespace cv;
  7: 
  8: 
  9: int main()
 10: {
 11: 	// 读入一张图片(游戏原画)
 12: 	Mat img=imread("D:\\xiaoxi.jpg");
 13: 	// 创建一个名为 "游戏原画"窗口
 14: 	cvNamedWindow("游戏原画");
 15: 	// 在窗口中显示游戏原画
 16: 	imshow("游戏原画",img);
 17: 	// 等待10000 ms后窗口自动关闭
 18: 	waitKey(10000);
 19: 
 20: }

3、工程配置

这时候你会看到一堆的错误,没关系,下面对工程进行配置:

(1)、右键工程->属性

分别配置包含目录和库目录:

这个包含目录和库的路径根据你的解压路径确定,我的opencv是解压到C:\Program Files文件下。

注意:设置库的路径的时候需要根据你的VS版本进行选择我的是32位VS2012,故选择x86\vc12下面的lib,如果你是vs2010则应该选择相应平台下的vc10下的lib.

    (2)、附加依赖项:

           

将下面的.lib文件目录拷贝到里面设置:

opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib

注意:不要有空行和空格

(3)、修改一下源代码

你应该看到源代码中有一行

Mat img=imread("D:\\xiaoxi.jpg");

这是我的电脑中的一张图片,所以你应该在相应的目录下放一张图片,名字随便啦,注意的是路径“\”要为“\\”。

四、大功告成

点击

执行你就会看到我在本文开始的时候展示的效果啦。

五、问题记录

中途我也遇到了不少的问题:

【问题一】:

原因是缺少MSVCR120D.dll

【解决】:

下载msvcr120d.dll然后将其拷贝到“C:\Windows\System32”打开命令提示符(以管理员方式运行)

执行:

regsvr32 C:\Windows\System32\msvcr120d.dll

还有其他的问题,不过只要按照我给的步骤去配置,一般不会出现什么大的问题。

不过,请相信一次性成功的概率还是很小的。遇到说明问题baidu一下,今本上就能解决了。

最后在配置的过程中参照了下面的文章:

文章一:【OpenCV入门教程之一】 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置

文章二:How to build applications with OpenCV inside the Microsoft Visual Studio

 

最新文章

  1. 学习scala03 控制结构
  2. Linux 内核通知链随笔【中】
  3. imageserver
  4. OkHttp+Stetho+Chrome调试android网络部分
  5. 如何在Dynamics CRM 2011 的窗体表单上加载报表
  6. ubuntu安装hive
  7. linux 系统常用命令
  8. Spring AOP 性能监控器
  9. 15个易遗忘的Java问题
  10. IPX/SPX
  11. 深入理解Android中View
  12. PHP爬虫百度图片
  13. C#中委托,匿名函数,lamda表达式复习
  14. ajax设置默认值ajaxSetup()方法
  15. 转载:Nginx是什么(1.1)《深入理解Nginx》(陶辉)
  16. JConsole 配置
  17. [Linux实用工具]Linux监控工具munin的安装和配置
  18. echarts地图扩展___自定义的svg图
  19. 微服务深入浅出(10)-- Docker
  20. 一点二次插值、二点二次插值 ,matlab

热门文章

  1. 总结获取原生JS(javascript)基本操作
  2. Linux的基础预备知识
  3. 关于excle导数据的一些代码笔记
  4. Linear Equations in Linear Algebra
  5. C# 生成行和列
  6. 为什么请求时,需要使用URLEncode做encode转码操作(转)
  7. css修改placeholder的样式
  8. c# byte[] 保存图片
  9. 总结python 元组和列表的区别
  10. 算法与数据结构3.1 stack