图像视频处理中Win7 32位+VS2010+OpenCV2.3.1的配置过程

  捣鼓了一天,终于把OpenCV的环境配置好了,其间并没有像OpenCV中文论坛的于老师那样进行Cmake编译。记录一下配置的过程,以备后需。

  操作系统:Windows 7 x86 中文旗舰版;

  编译环境:Visual Studio 2010 中文旗舰版;

  OpenCV版本:OpenCV-2.3.1-win;
  

一、下载OpenCV2.3.1

  1. 从 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
  2. 将 OpenCV-2.3.1-win-superpack.exe 解压并放到某个路径目录下,例如 D:\OpenCV2.3.1。其目录结构如下图所示。

  

 

二、配置环境变量  

  右击“我的电脑”选“属性”,点“高级系统属性”,点“环境变量”,在用户变量中新建两个用户变量,如下。

  PATH  D:\OpenCV2.3.1\build

  OPENCV  D:\OpenCV2.3.1\build\x86\vc10\bin

  如下图所示。

 

三、配置VS2010

  以前配置VC++6.0、VS2005、VS2008都是在“工具”->“选项”->“项目与解决方案”->“VC++ 目录”中一次性配置好就可以了。但是到了VS2010后,当你按照前面的这个步骤操作时,会发现有提示“VC++目录编辑功能已被否决”。上网搜了许久,发现以下方法较好,一次性配置即可。

  选择“视图”——“其他窗口”——“属性管理器”,如下图所示。

  双击Debug | Win32下的“Microsoft.Cpp.Win32.user”,如下图所示。 

  在弹出的配置框中配置,选择“VC++目录”。

  1、在“包含目录”中的结尾处(若结尾处无英文状态下的“;”则需自行添加“;”,下同)加入以下内容添加以下内容:

  $(opencv)\include\opencv;$(opencv)\include\opencv2;$(opencv)\include;

  2、在库目录中的结尾处加入以下内容添加:

  $(opencv)\x86\vc10\lib;

  注:$(opencv)\include\opencv是告诉VC去“opencv”这个变量中的文件夹下的\include\opencv路径中找OpenCV的库文件目录。

  如下图所示。

  在“链接器”-“输入”-“附加依赖选项”中的结尾处加入以下内容:

$(opencv)\x86\vc10\lib\opencv_core231d.lib;$(opencv)\x86\vc10\lib\opencv_highgui231d.lib;$(opencv)\x86\vc10\lib\opencv_video231d.lib;$(opencv)\x86\vc10\lib\opencv_ml231d.lib;$(opencv)\x86\vc10\lib\opencv_legacy231d.lib;$(opencv)\x86\vc10\lib\opencv_imgproc231d.lib;

  注:lib可根据实际情况进行删减。

  如下图所示。

 

  点击确定,至此OpenCV的配置完成。

 

四、测试

       在VC下,新建一个“win32控制台程序”的demo,输入下面的代码,对以上的配置进行测试。

  

 1 #include "highgui.h"
2 using namespace std;
3 using namespace cv;
4
5 int _tmain(int argc, _TCHAR* argv[])
6 {
7 const char* imagename = "D:/Demo.jpg"; //随便放一张jpg图片在D盘或另行设置目录
8 Mat img = cv::imread(imagename);
9
10 if(img.empty())
11 return -1; //是否加载成功
12
13 if(!img.data)
14 return -1;
15
16 namedWindow("image", CV_WINDOW_AUTOSIZE);
17 imshow("image", img);
18
19 waitKey();
20
21 return 0;
22 }

 

  若配置无误,则程序会运行成功并打开一幅图片。

 

五、总结

  以前做图像视频处理的时候也做过OpenCV的配置,从OpenCV1.0、2.0到2.1,从XP到Win7,都是大同小异,也正是这些小异,往往会弄得焦头烂额。所以,工作在于细致,尤其是编程开发,一个小小的变量就可以引发意想不到的问题。详情请观影《蝴蝶效应》三部曲。

  今天是3月1日,再次向伟大而平凡的雷锋同志致敬!

  转载请注明出处,http://www.cnblogs.com/jamiechu/archive/2012/03/01/2376266.html

posted @ 2012-03-01 22:03  JamieChu  阅读(11395)  评论(27编辑  收藏  举报