昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了。一直想做和图像处理相关的东西,趁这段时间有空学习一下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

 

OpenCV学习笔记(01)我的第一个OpenCV程序(环境配置)的更多相关文章

  1. OpenCV 学习笔记 01 安装OpenCV及相关依赖库

    本次学习是基于Window10进行的.语言为python3. 1 与opencv相关的库简介 1.1 numpy numpy 是 OpenCV 绑定 python 时所依赖的库,此意味着numpy在安 ...

  2. [原创]java WEB学习笔记01:javaWeb之tomcat的安装和配置

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. 【C语言/C++编程学习笔记】你的第一个Windows程序!高级操作~

    什么是windows编程?了解到Windows API 编程.Windows编程.Windows SDK 编程是一个概念.今天我们运用C语言来实现你的第一个真正的Windows程序. windows. ...

  4. Directx11学习笔记【三】 第一个D3D11程序

    在先前的解决方案中新建一个新的Win32项目FirstD3D11Demo.在写代码之前,我们必须先添加dx11所需要的库.为了链接dx库,右键项目选择属性->vc++目录,在包含目录中添加你所安 ...

  5. cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境

    cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...

  6. OpenCV 学习笔记03 findContours函数

    opencv-python   4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...

  7. 【opencv学习笔记五】一个简单程序:图像读取与显示

    今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...

  8. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  9. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  10. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

随机推荐

  1. 【outPut_Class 输出类】使用说明

    对象:outPut 说明:定义输出结果类的相关操作.此对象的核心是[JSON]类,所以它继承了[JSON]类的所有方法 重要: 输出结果样式为XML时,自带根节点"root".输出 ...

  2. python3-声音处理

    先来说下二进制读写文件,这需要struct库 #二进制文件读写 import struct a= b=- # print(struct.pack("h",b)) # print(s ...

  3. 【MySQL解惑笔记】Centos7下卸载彻底MySQL数据库

    彻底卸载Yum安装的MySQL数据库 在我第二章MySQL数据库基于Centos7.3-部署过程中,因为以前安装过其它的版本所以没有卸载干净影响后期安装 一.卸载Centos7自带的Maridb数据库 ...

  4. Python3 下安装python-votesmart

    在python2下安装python-smart还比较容易,而python3中由于很多函数库的变化直接使用python setup.py install 命令来安装的话会导致错误,而导致错误的原因就是p ...

  5. avalonJS入门

    前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(8759) 评论(42) 编辑 收藏   avalonJS是司徒正美开发和维护的前端mvvm框 ...

  6. 环境变量PATH

    一.举例 我在用户主文件夹执行命令“ls”,会在屏幕显示该文件夹下的所有文件.然而,ls的完整文件名为“/bin/ls”,按道理我不在/bin下要想执行ls命令必须输入“/bin/ls”,但我仅仅需要 ...

  7. 使用libpcab抓包&处理包

    #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <string.h& ...

  8. “Hello world!”团队第二周贡献分规则+贡献分数分配结果

    一.贡献规则制定: (1)基础分:9 , 9 , 8 , 7 , 7 , 7 , 6(按在本次编程中承担模块的重要度制定,某一模块重要度的认定通过组内开会讨论决定) (2)会议分:每人没出勤一次会议记 ...

  9. Python 字符串与基本语句

    Python特点 python中没有变量的声明 语句结束后没有分号 严格要求缩进 支持很长很长的大数运算(直接在Idle中输入即可) 用"#"来注释 BIF:Bulit-in fu ...

  10. 第八次作业——项目UML设计

    分工及贡献分评定 成员 参与 贡献比例 朱跃安(031602348) 类图 13% 后敬甲(031602409) 实体关系图+博客整理 14.5% 林志华(031602128) 用例图+活动图 14. ...