VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9

最近做图像需要用到Matlab和OpenCV,一些东西真的是要深入的研究进去才会有所发现,但Matlab和C++都不是我擅长的语言,所以要很加油很加油才行啊!!

步入正题。

   1.  环境:Win7 64位 + Visual Studio 2013 Community + OpenCV 3.0.0

   2. 安装VS 2013 Community版本。 —— 到VS官网https://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs.aspx选择对应版本下载,记住要下载ISO不要下载web版本哦。

   3. 到OPenCV官网http://opencv.org/下载Windows版本的OpenCV 3.0.0版,然后解压到相应文件夹,如我的是“C:Park_Softwareopencv”。

   4. 配置电脑的环境变量。在“计算机”下右键,然后“属性”-》“高级系统设置”-》(注意:更改的是系统变量)“环境变量”-》“新建”-》“变量名:OPENCV; 变量值:C:Park_Softwareopencvuild”; -》找到“PATH”-》“编辑”-》加入“;%OPENCV%x86vc12in”.

   5. 找到解压后的OpenCV文件夹,然后进入根目录,新建文件opencv300.props,写入如下代码:(这些代码是方便配置VS中的信息,每次新建Project时,只需将该文件加载进去即可,不必再繁琐的设置一些属性表)

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>$(OPENCV)include;$(IncludePath)</IncludePath>
    <LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)x86vc12staticlib;$(OPENCV)x86vc12lib;$(LibraryPath)</LibraryPath>
    <LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)x64vc12staticlib;$(OPENCV)x64vc12lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link Condition="'$(Configuration)'=='Debug'">
      <AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;opencv_calib3d300.lib;opencv_core300.lib;opencv_features2d300.lib;opencv_flann300.lib;opencv_highgui300.lib;opencv_imgcodecs300.lib;opencv_imgproc300.lib;opencv_ml300.lib;opencv_objdetect300.lib;opencv_photo300.lib;opencv_shape300.lib;opencv_stitching300.lib;opencv_superres300.lib;opencv_ts300.lib;opencv_video300.lib;opencv_videoio300.lib;opencv_videostab300.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <Link Condition="'$(Configuration)'=='Release'">
      <AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;opencv_calib3d300d.lib;opencv_core300d.lib;opencv_features2d300d.lib;opencv_flann300d.lib;opencv_highgui300d.lib;opencv_imgcodecs300d.lib;opencv_imgproc300d.lib;opencv_ml300d.lib;opencv_objdetect300d.lib;opencv_photo300d.lib;opencv_shape300d.lib;opencv_stitching300d.lib;opencv_superres300d.lib;opencv_ts300d.lib;opencv_video300d.lib;opencv_videoio300d.lib;opencv_videostab300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

   6. 下面开始对VS中的项目进行配置。

   7. 新建一个空的Visual C++控制台程序,然后在“属性管理器”窗口下(如没有属性管理器窗口,则应该到“视图”-》“其他窗口”-》“属性管理器”)右键刚刚建立的项目,然后“添加现有属性表”,找到刚刚写好的“opencv300.props”加入即可。

   8. 下面开始写读取图像的一个小程序。在源文件中新建一个.cpp文件,写入以下代码:

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

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{    


    Mat image;
    image = imread("G:\1.jpg", IMREAD_COLOR); // Read the file(your own image route)

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

    namedWindow("Display window", 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;
}

   9. 本地Windows调试器,然后编译运行即可。

 ——————————————————————————————————————------------———————分割线呀分割线—————————————————————--------------------------————————————————————————————————————————

(2015/10/18更新)

  按照上述步骤配置好了OpenCV3.0版本,但是2.X版本中有很多现成的方法有所改变,很难使用,所以我最终还是决定使用稳定的2.X版本。这里记录一下自己更改OpenCV版本的全过程,方便自己以后查看或者给有同样需要的网友share一下。(总体修改过程参照浅墨大神的书籍《OpenCV3编程入门》及博客http://blog.csdn.net/huang9012/article/details/21811129

   1. 环境:win7 64位 + VS2013 + OpenCV2.4.9

   2.将原来的OpenCV解压后的文件夹删除。然后到OpenCV官网http://opencv.org/,下载低版本的安装包,然后解压到相应文件夹,如我的是“C:Park_Softwareopencv”。

   3. 配置电脑的环境变量。在“计算机”下右键,然后“属性”-》“高级系统设置”-》(注意:更改的是系统变量)“环境变量”-》“新建”-》“变量名:OPENCV; 变量值:C:Park_Softwareopencvuild”; -》找到“PATH”-》“编辑”-》加入“;%OPENCV%x86vc12in”.

   4. 下面开始对VS中的项目进行配置,以前不想用2.X版本是因为看了很多网友的博客发现每次新建项目都要进行配置,觉得太过繁琐,还好发现浅墨大神的书,然后按照书中的步骤一步步配置好后,以后新建项目都无需再配置,具体过程如下:

  • 新建一个空的Visual C++控制台程序,然后“属性管理器”窗口下(如没有属性管理器窗口,则应该到“视图”-》“其他窗口”-》“属性管理器”)右键刚刚建立的项目,在新出现的“属性管理器文件夹”中,展开【Debug|win32】文件夹,对文件夹中【Microsoft.CPP.Win32.userDirectories】进行右键属性操作。
  • 在【通用属性】-》【VC++目录】-》【包含目录】中添加以下三项目录(到自己具体的解压目录中找到buildinclude目录,然后复制进去即可):
  • C:Park_Softwareopencvuildincludeopencv2
    C:Park_Softwareopencvuildincludeopencv
    C:Park_Softwareopencvuildinclude
  •  在【通用属性】-》【VC++目录】-》【库目录】中添加路径:

  • C:Park_Softwareopencvuildx86vc12lib
    C:Park_Softwareopencvuildx86vc12staticlib
  • 在【通用属性】-》【链接器】-》【输入】-》【附加的依赖项】中添加lib(顺序是:19个带d的debug版的lib放在前面,19个不带d的release版的lib写在后面,即优先支持debug模式的编译运行)
  • opencv_ml249d.lib
    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_objdetect249d.lib
    opencv_ts249d.lib
    opencv_video249d.lib
    opencv_nonfree249d.lib
    opencv_ocl249d.lib
    opencv_photo249d.lib
    opencv_stitching249d.lib
    opencv_superres249d.lib
    opencv_videostab249d.lib
    opencv_objdetect249.lib
    opencv_ts249.lib
    opencv_video249.lib
    opencv_nonfree249.lib
    opencv_ocl249.lib
    opencv_photo249.lib
    opencv_stitching249.lib
    opencv_superres249.lib
    opencv_videostab249.lib
    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
  • 重启电脑,然后进行最终测试。
  • 新建一个源程序,输入如下代码并且在源程序的根目录下放入一张名为“1.jpg”的图片:
  • #include <opencv2/opencv.hpp>
    
    using namespace cv;
    
    int main() {
        Mat img = imread("1.jpg");
        imshow("载入的图像", img);
        waitKey(0);
    }
  • 运行,并成功显示图片,至此配置结束。
    • 常见错误:
      •   无法打开文件“opencv_ml249.lib”系列错误:多半是加入的有问题,详细检查【链接器】-》【输入】-》【附加的依赖项】中添加的lib是否正确。
      •       找不到“core.h”错误:注意配置include时是在build文件夹下面的include文件夹,而不是opencv根目录下面的。
原文地址:https://www.cnblogs.com/little-YTMM/p/4873659.html