您的位置:首页 > 运维架构

Win7/Win8 64位系统下为Visual Studio 2013配置OpenCV 2.4.9

2014-08-18 14:49 555 查看
系统环境:Win7 Win8.1 64位系统

VS版本:Visual Studio 2013 32位(2010、2012 32位和64版本均适用)

OpenCV版本:2.4.9(2.4.8等版本均适用)

本文为VS2013配置OpenCV的最终目的在于,让每次新建的工程自动包含OpenCV的头文件目录、可执行文件目录等,即每次新建VS工程后不必再次配置VS或者像有的方法那样需手动导入配置文件。

准备工作:安装Visual Studio 2013或其他版本、从OpenCV官网下载2.4.8或者2.4.9安装文件(http://opencv.org/downloads.html,选择相应版本的Windows版本)如下图所示:



下载下来的文件为:opencv-2.4.9.exe

配置步骤:

一、解压缩OpenCV

打开opencv-2.4.9.exe,选择解压缩目录(如:D:\),程序会自动在D盘下新建opencv文件夹,将文件解压缩至该目录,得到的文件列表一般如下图所示:



build中包含的是VS需要用到的库文件、可执行目录等,source中包含的是opencv的源文件、例子程序等

二、配置系统环境变量

在计算机右键打开属性(Win8系统将鼠标移至左下角,右键,然后点击系统选项即可),然后点击左侧的高级系统设置:



在出现的系统属性对话框中选中高级选项卡,点击环境变量:



在下面的系统变量下点击新建,新建变量名:OPENCV 变量值:D:\opencv\build (这样方便以后更改了opencv目录之后,直接更改该环境变量值即可)

然后在系统变量中找到Path变量,在后面加上如下值(注意:包含前面的分号!!):

;%OPENCV%\x86\vc12\bin
至此,系统环境变量部分结束,为了使新的变量生效,一般需要重启系统。

二、配置Visual Studio 2013

为了每次新建工程时,系统自动加载包含opencv目录的属性配置表,我们需要修改系统默认的属性表Microsoft.Cpp.Win32.user.props,在C:\Users\你的用户名 一般为Administrator\AppData\Local\Microsoft\MSBuild\v4.0目录下。

右键该属性表,用记事本打开,将其内容更改为:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <ExecutablePath>$(OPENCV)\x86\vc12\bin;$(ExecutablePath)</ExecutablePath>
    <IncludePath>$(OPENCV)\include;$(OPENCV)\include\opencv;$(OPENCV)\include\opencv2;$(IncludePath)</IncludePath>
    <LibraryPath>$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
        <Link Condition="'$(Configuration)'=='Debug'">
          <AdditionalDependencies>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_ml249d.lib;opencv_nonfree249d.lib;opencv_objdetect249d.lib;opencv_ocl249d.lib;opencv_photo249d.lib;opencv_stitching249d.lib;opencv_superres249d.lib;opencv_ts249d.lib;opencv_video249d.lib;opencv_videostab249d.lib;%(AdditionalDependencies)</AdditionalDependencies>
        </Link>
        <Link Condition="'$(Configuration)'=='Release'">
          <AdditionalDependencies>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_ml249.lib;opencv_nonfree249.lib;opencv_objdetect249.lib;opencv_ocl249.lib;opencv_photo249.lib;opencv_stitching249.lib;opencv_superres249.lib;opencv_ts249.lib;opencv_video249.lib;opencv_videostab249.lib;%(AdditionalDependencies)</AdditionalDependencies>
        </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>
注:1、前两行视VS版本不同而有所不同,以上是VS2013的版本,如果是其他版本请保留原文件的前两行,从第三行开始覆盖为我的版本。

2、以上是OpenCV 2.4.9的版本,如果是2.4.8版本,只需将以上所有249替换为248即可,其他版本的更改同2.4.8

3、这个是Visual Studio 2013的32位版本,即打开vs工程后,在如下图所示的Win32框下只有Win32选项,如果你同时安装了64位版本的编译器,请参照一下网站的说明,更改为64位的配置。Opencv
完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)该版本每次新建工程都需要重新配置VS或者重新加载属性表文件



三、测试

新建Win32控制台应用程序,使用如下源代码,测试能否正确显示图像:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

#include <iostream>
using namespace cv;
using namespace std;
int main()
{
        Mat img = imread("test.jpg");
        if (img.empty())
        {
                cout << "error";
                return -1;
        }
        imshow("TEST", img);
        waitKey();

        return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: