环境:windows 7+visual studio 2010+opencv 2.1,成功!xp更应该能成功。耐心点,按下面的一步一步来,应该是没什么问题的,祝您好运啦!

一、下载文件
OpenCV2.x
官方地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/OpenCV-2.1.0-win.zip/download
推荐本论坛地址:http://www.opencv.org.cn/download/OpenCV-2.1.0-win32-vs2008.exe
CMAKE 2.8.1
http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-86.exe
INTELTBB3.0
http://www.threadingbuildingblocks.org/uploads/77/151/3.0/tbb30_20100406oss_win.zip

二、安装过程

1、  安装Opencv 2.x然后将OpenCV2.x安装到你将要放置OPENCV的地方,很简单我的安装目录C: \OpenCV2.x

【Opencv】Vs2010 <wbr>上的配置Opencv2.2

2、安装CMAKE2.8.1,正常安装。我的安装目录C:\Program Files\CMake 2.8


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

2、  解压INTEL TBB 3.0,比如将OPENCVTBB都放在C:\里面。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

3、  并在OpenCV文件夹下创建子目录C: \OpenCV2.x\vs2010,用于存放编译结果。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

4、  检查C:\OpenCV2.2\binC:\tbb30_20100406oss\lib\ia32\vc10是否已经被加入到环境变量(我的电脑-属性-环境变量)PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)

5、   CMAKE 2.8.1,在Where is the source code后面填写(或者选择)OPENCV 2.x的安装目录,如C:\OpenCV2.2,在Where to build the binaries里填写刚创建的子目录C:\OpenCV2.2\vs2010。接着点击Configure按钮,在出现的对话框中选择Visual Studio 10,下面的选项选择Use default native compilers,点击Finish继续。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

6、  过一会儿之后会出现一个配置窗 口(此处注意在CMAKE配置的时候是不能够打开VS2010的),然后勾选BUILD_SHARED_LIBSBUILD_TESTSOPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPERWITH_JPEGWITH_PNGWITH_TBB(一般这个没默认选上),WITH_TIFF选项


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

7、   好后再次点击Configure,之后再配置窗口最上面会出现TBB_INCLUDE_DIR-NOTFOUND字样的红色选项,此处为CMAKE找不到 INTEL TBB的包含文件为之所致,将INTEL TBB 3.0里面的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子文件夹)定位到该配置属性的路径里,再次点击 Configure,在TBB_LIB_DIR处又会出现红色一行,此处为INTEL TBB的库文件位置,此处必须将路径定位到含有LIB文件的位置,比如我的安装位置是C:\tbb30_20100406oss/lib/ia32/vc10,也就是说,在lib文件夹下会有子文件夹,必须定位到子文件夹对应的VC版本文件夹里去,这里由于是配置 VS2010,所以我们选择VC10文件夹,ia32子文件夹是32位系统,此处应根据对应操作系统选择。

然后,我们再次点击Configure,此时所有红色行已经变为白色,同时在下方的信息里面会有一条为Use TBB:YES的字样,证明我们已经将INTEL TBB配置完毕,然后点击Generate


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

8、  完成后在刚创建的子文件夹C: \OpenCV2.2\vs2010下会出现一个VS2010的解决方案文件OPENCV.sln,双击打开后,出现OPENCV 2.1的所有工程项目,先不要着急编译。

1)
 先点击Solution Explorer(解决方案资源管理器)里面Property Manager(属性管理器)下的选项卡,依次展开ALL_BUILD—Debug|Win32—右键单击 ,选择Properties(属性).


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

然后选择VC++ Directories(VC++目录),在Executable Directories(可执行文件目录)里面将INTEL TBB 3.0的可执行路径(bin)填写到里面,此处与LIB一样,必须定位到VC10才可以,例如我的是C:\tbb30_20100406oss\bin\ia32\vc10,将Include Directories(包含目录)定位到Intel TBBInclude文件夹即可,无需再往深入定位,在Library Directories(库目录)里填写Intel TBBLIB文件位置,定位到VC10文件夹。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

9、  单击确定之后,将选项卡切回到Solution Explorer(解决方案资源管理器),将编译模式切换为Debug模式,右键单击Solution OpenCV(解决方案OpenCV),选择Rebuild Solution(重新生成解决方案),编译后再右键单击INSTALL项目,选择Build(生成),之后将编译模式切换为Release,重复 debug模式下的步骤。完成后在你的解决方案文件夹C:\ OpenCV2.2\vs2010里面会生成bin目录,include目录,lib目录。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

【Opencv】Vs2010 <wbr>上的配置Opencv2.2

10、              然后在VS2010里切回到 Property Manager(属性管理器),后选择Properties(属性),最后在VC++ Directories(VC++目录)里面增加子文件夹C:\ OpenCV2.2\vs2010下的可执行文件(bin),包含文件(include\opencv),以及库文件(lib),源文件(src\cvsrc\cvauxsrc\cxcoresrc\highguisrc\ml),确定,退出并保存更改。


【Opencv】Vs2010 <wbr>上的配置Opencv2.2

11、              检查C: \OpenCV2.2\vs2010\bin是否已经被加入到环境变量(我的电脑-属性-环境变量)PATH,如果没有,请加入。

12、               OPENCV 2.1配置完成,以后建立OPENCV项目时都需在项目里面添加依赖库,方法是在Solution Explorer(解决方案资源管理器)里面右键选择项目,选择Properties(属性),然后在Linker(链接器)里面选择Input( ),在依赖库里添加OPENCVLIB文件夹里的LIB文件名称即可,文件名后面有小写字母“d”的为Debug(调试模式库),没有“d”的为 Release(发布模式库)。例如以下步骤(有开发经验的一定明白以下的英语)


This is how I did to run OpenCV in Visual Studio 2010.

  • Create your new project for C++;
  • Go to project properties;
  • Go to VC++ Directories;
  • Add 2 new Include Directories (it's the path where you installed OpenCV, include folder):
    • C:\OpenCV2.2\ vs2010\include;
    • C:\OpenCV2.2\ vs2010\include\opencv
  • Add 1 new Library Directory (it's the path where you installed OpenCV, lib folder):
    • C:\OpenCV2.2\ vs2010\lib;
  • Go to Linker in the left menu and select Input option:
  • Add these entries on Additional Dependencies option:
    • C:\OpenCV2.2\ vs2010\lib\opencv_core220d.lib;
    • C:\OpenCV2.2\ vs2010\lib\opencv_highgui220d.lib;
    • C:\OpenCV2.2\ vs2010\lib\opencv_video220d.lib;
    • C:\OpenCV2.2\ vs2010\lib\opencv_ml220d.lib;
    • C:\OpenCV2.2\ vs2010\lib\opencv_legacy220d.lib;
    • C:\OpenCV2.2\ vs2010\lib\opencv_imgproc220d.lib.

【Opencv】Vs2010 <wbr>上的配置Opencv2.2

【Opencv】Vs2010 <wbr>上的配置Opencv2.2

That is it.

三、进行实验

 

 

#include "stdafx.h"

#include "highgui.h"

 

//所有的以新风格命名的函数都在 cv 命名空间中

//如果希望不要每次都输入 cv:: ,则可使用下面语句

//using namespace cv;

 

int _tmain(int argc, _TCHAR* argv[])

{

 

    const char* imagename = "lena.jpg";

 

         cv::Mat img = cv::imread(imagename); // Matlab风格的cvLoadImage 函数的另一种调用

    if(img.empty())

    {

        fprintf(stderr, "Can not load image %s\n", imagename);

        return -1;

    }

 

    if( !img.data ) // 检查是否正确载入图像

        return -1;

 

         cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口

         cv::imshow("image", img); //显示图像

 

         cv::waitKey();

 

         return 0;

}

 【Opencv】Vs2010 <wbr>上的配置Opencv2.2



posted on 2012-03-09 21:49  裴银祥的博客园  阅读(1842)  评论(0编辑  收藏  举报