码迷,mamicode.com
首页 > 其他好文 > 详细

Visual Studio 2010下的OpenCV 2.4.10安装过程

时间:2016-04-01 18:26:50      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

学生可以获取Visual Studio Professional的正版拷贝,就不要去下载什么破解版了,Qt不支持微软免费的Express版本,所以建议学生党不要去考虑Express版。

OpenCV文件夹的准备

官网下载最新OpenCV的Windows安装程序(其实是一个自解压包),200+MB的体积,双击解压缩到某个分区(如果是SSD的话建议先解压到某个移动硬盘上),并不是所有文件都是需要的。

技术分享

如果是64位Windows系统和64位Visual Studio则需要x64文件夹而不是x86文件夹。而且,x86/x64文件夹下,只需要vc11这个文件夹,不需要vc10(vc11对应VS2012,vc10对应VS2010)。我是以防万一以后用到,就没删除其他的文件,当然如果感觉比较乱可以自己整理一下,在D盘创建文件夹openCV_build,把以上需要的build下的文件夹拷贝进去。

设置环境变量

打开管理员模式的命令提示符,运行:

1
setx-mOPENCV_DIR D:\openCV_build\x64\vc10

-m参数表示该环境变量属于系统范围而非用户范围的值,稍等片刻待提示值已保存后可以关闭cmd了。然后打开计算机属性->高级系统设置->设置环境变量。

在系统变量里找到Path,双击修改,在末尾添加OpenCV的bin(记住要用半角分号隔开),

%OPENCV_DIR%\bin

如下图所示。使用%OPENCV_DIR%变量的好处是万一下次要变动OpenCV(比如安装了两个版本的OpenCV或者改变了路径),只需要修改%OPENCV_DIR%这个变量即可。

技术分享技术分享

Visual Studio的配置

以Visual Studio 2010和官方指南的Local Method(本地方法)为例,修改某一个工程的属性,添加依赖。

技术分享技术分享

项目->属性,把弹出窗口左上角的配置更改为“所有配置”,选择配置属性->VC++目录,更改右边的包含目录,编辑,新加一行:

1
$(OPENCV_DIR)\..\..\include

类似地,更改库目录,新加一行:

1
$(OPENCV_DIR)\lib

如下图所示。

技术分享

技术分享

现在修改Debug配置的属性表,在链接器->输入下,修改附加依赖项。这里应该包含所有你需要的OpenCV模块,模块的名称规则是opencv_<module_name><version_number>d.lib,全部模块如下(OpenCV 2.4.7):

1
2
3
4
5
6
7
8
9
10
11
opencv_core2410d.lib
opencv_imgproc2410d.lib
opencv_highgui2410d.lib
opencv_ml2410d.lib
opencv_video2410d.lib
opencv_features2d2410d.lib
opencv_calib3d2410d.lib
opencv_objdetect2410d.lib
opencv_contrib2410d.lib
opencv_legacy2410d.lib
opencv_flann2410d.lib

然后在Release的配置下再来一次,这一次不要版本号后面的d(d表示debug),完整的模块列表如下:

1
2
3
4
5
6
7
8
9
10
11
opencv_core2410.lib
opencv_imgproc2410.lib
opencv_highgui2410.lib
opencv_ml2410.lib
opencv_video2410.lib
opencv_features2d2410.lib
opencv_calib3d2410.lib
opencv_objdetect2410.lib
opencv_contrib2410.lib
opencv_legacy2410.lib
opencv_flann2410.lib

编译测试工程

一份简单的测试源码(修改自MrKnight的demo)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <opencv2/opencv.hpp>
#include <iostream>
usingnamespacestd;
usingnamespacecv;
intmain(intargc, char**argv)
{
    if(argc<2)
    {
        cout<<"No parameters.\n"
            <<"You need to specify an image."<<endl;
        exit(1);
    }
    else
    {
        Mat img = imread(argv[1]);
 
        if(img.empty())
        {
            fprintf(stderr, "Error: load image failed.");
            return-1;
        }
        namedWindow("image", CV_WINDOW_AUTOSIZE);
        imshow("image", img);
        waitKey();
    }
    return0;
}
对了,加上代码后,还不能直接编译运行,因为很多人,在建项目的时候会建成WIN32的平台,因为我们这里的opencv是64位的所以不修改会报错。
技术分享
技术分享
改成下面这样
技术分享技术分享

编译完成后,需要在命令行下运行,图片的路径作为参数传递给程序。看看能否顺利编译成功,并看到图片吧。测试运行如下图所示:

技术分享


Visual Studio 2010下的OpenCV 2.4.10安装过程

标签:

原文地址:http://blog.csdn.net/lizhiguo18/article/details/51037366

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!