在visual studio 2012 中配置OpenCV 3.0

关于OpenCV在visual studio各版本中的配置网上教程很多,但大部分采取的是“The local method”,每次新建工程还得添加以前配置好的.props属性列表文件,其实官方文档中介绍了更好的“The global method”,只不过不够详细;随着新版本OpenCV 3.0的发布,其配置方式又有些微小的区别……

在visual studio 2012 中配置OpenCV 3.0_第1张图片

具体的配置过程这里也不详细讲解了,参考毛星云的博客:

http://blog.csdn.net/poem_qianmo/article/details/19809337

这里要强调几点的是:

1、OpenCV中选择x86还是x64文件夹,决定于编译器的位数;

2、vc11对应visual studio 2012,vc12对应visual studio 2013;据说vc**是代表编译器的版本,不要当成了IDE版本。

3、建议使用全局的配置方法: project->Debug|Win32->Microsoft.Cpp.Win32.user,一次配置好可永久使用 。

4、 OpenCV3.0在配置依赖项时只需要添加opencv_ts300d.lib、opencv_world300d.lib和opencv_ts300d.lib、opencv_world300d.lib;不用像之前版本一样添加一大串链接库。


最后贴上一份官方测试代码,代码详解参见:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/introduction/display_image/display_image.html#display-image

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std; 

int main( int argc, char** argv )
{ 
    if( argc != 2) 
    {
     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
     return -1;
    }
    
    Mat image;
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR);   // Read the file

    if(! image.data )                              // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
    imshow( "Display window", image );                   // Show our image inside it.

    waitKey(0);                                          // Wait for a keystroke in the window
    return 0;
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------

2015年10月11日

补充:

全局配置的缺点:

        全局配置方法(Microsoft.Cpp.Win32.user中配置的方法)虽然省去了每次新建OpenCV项目时添加.props属性表文件的麻烦,但是也存在着缺点;个人使用的体会是一旦更改了里面的设置(尤其是你不了解的)很难还原(无法在导入导出设置中还原),这将影响到你新建的每一个工程,甚至比如当你同时使用VS2012,VS2013时,你发现并没有配置VS2013,但是它已经继承了你对VS2012所做的配置!

        更官方的解释是:“它们是针对每个用户、每台计算机来设置项目配置属性的。 特别是如果你在生成计算机上面向多个平台,此类“全局”设置会影响生成。例如,如果你同时拥有一个 MFC 项目和 Windows Phone 项目,则其中一个项目的 .user 属性将会无效。可重用的属性表(即局部配置方法,官方建议)更为灵活,而且更加可靠。”来自https://msdn.microsoft.com/zh-cn/library/669zx6zc.aspx

         个人觉得如果是单纯学习而言,不考虑移植兼容性问题,选用全局配置方法省事,配置前最好将Microsoft.Cpp.Win32.user文件备份一下,文件在C:\Users\Yoymy\AppData\Local\Microsoft\MSBuild\v4.0目录下。做工程的同志还是选用局部配置方法为宜。


你可能感兴趣的:(opencv,vs2012)