最近做图像需要用到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_Software\opencv”。

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

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)\x86\vc12\staticlib;$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\staticlib;$(OPENCV)\x64\vc12\lib;$(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 -;
} namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it. waitKey(); // Wait for a keystroke in the window
return ;
}

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_Software\opencv”。

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

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

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

  • C:\Park_Software\opencv\build\x86\vc12\lib
    C:\Park_Software\opencv\build\x86\vc12\staticlib
  • 在【通用属性】-》【链接器】-》【输入】-》【附加的依赖项】中添加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();
    }
  • 运行,并成功显示图片,至此配置结束。
    • 常见错误:

      •   无法打开文件“opencv_ml249.lib”系列错误:多半是加入的有问题,详细检查【链接器】-》【输入】-》【附加的依赖项】中添加的lib是否正确。
      • 找不到“core.h”错误:注意配置include时是在build文件夹下面的include文件夹,而不是opencv根目录下面的。

VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9的更多相关文章

  1. Ubuntu 16.04配置OpenCV 3.1.0 for Java

    我们都知道,OpenCV是基于C++的开源计算机视觉库,但是从2.4.4版本开始提供了Java绑定,也就是说,我们也可以使用Java来开发基于OpenCV的计算机视觉应用.目前,最新的版本是3.1.0 ...

  2. Python下的OpenCV学习 01 —— 在Linux下安装OpenCV

    一.OpenCV简要介绍 OpenCV是一个跨平台的计算机视觉库,可以运行在Windows.Linux.MacOS等操作系统上.OpenCV提供了众多语言的接口,其中就包含了Python,Python ...

  3. Ubuntu系统---配置OpenCV

    Ubuntu系统---配置OpenCV 目录 一.Ubuntu下配OpenCV 二.Ubuntu下配python-opencv   说明 上述一.二两种方式,配置OpenCV还是有区别的.按个人已有知 ...

  4. vs2013下配置opencv1.0.0

    vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结 ...

  5. OpenCV - win7+vs2013(2012)+opencv3.0.0 环境配置 (以及配置技巧)

    1. opencv 3.0.0 库下载地址, 这里的版本是3.0.0,其他的版本配置可能不一样,请大家注意. http://sourceforge.net/projects/opencvlibrary ...

  6. windows下配置caffe(环境:win7+vs2013+opencv3.0)

    说明:大部分转载于initialneil的大作Caffe + vs2013 + OpenCV in Windows Tutorial (I) – Setup 准备工作: 1.下载CUDA7.5: ht ...

  7. Win7 OpenCV 3.0.0 VS2013 环境配置

    参考资料:http://jingyan.baidu.com/article/75ab0bcbee4b47d6864db2fc.html 注: x86 x64 这些根据自己的系统以及需求而定, 这里就不 ...

  8. 【MRPT】【icp-slam-live】Vs2013+ cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.0.2环境配置

    Win10下Vs2013 + cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.1.0环境配置 所接触过的最令我崩溃的环境配置.之前没有考虑到vs2013 20 ...

  9. VS2013 Community配置OpenCV3.0.0

    配置环境:32位win7系统+VS2013 Community版本 1.首先从OpenCV官网上下载最新版本的OpenCV for Windows. 2.直接双击打开下载得到的opencv-3.0.0 ...

随机推荐

  1. Informatica 简单使用

    1. Informatica简介 ① Repository manager 主要用来维护资料库的目录,对象,建完对象可以创建demo的folder. ② Administration Console是 ...

  2. java基础 java中枚举的应用 抽象方法问题

    package com.swift.meiju; import org.junit.Test; public class Demo{ @Test public void test() { System ...

  3. java基础语法:非法修饰符组合 abstract

    abstract 与 final :abstract 是需要被继承以实现的,final却说你不能被修改,逻辑错误 abstract 与  private:同样的abstract 需要被子类实现,但pr ...

  4. MySQL自增锁等待问题解决

    有网友再群里问:在做基准测试时候,批量插入数据时,有很多自增锁等待,我告诉他解决办法: 1.innodb_autoinc_lock_mode=2 2.innodb_autoextend_increme ...

  5. 交换机基础配置之三层交换机实现vlan间通信

    我们以上面的拓扑图做实验,要求为pc1,pc2,pc3配置为vlan10,pc4,pc5,pc6配置为vlan20,pc7,pc8,pc9配置为vlan30 server0和server1配置为vla ...

  6. Ansible学习 Patterns

    Ansible中ad-hoc命令格式如下:ansible <pattern_goes_here> -m <module_name> -a <arguments>,P ...

  7. 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是否缺少程序集引用?

    在一个web项目中需要导出word打印,引用Microsoft.Office.Interop.Word后,在pages里使用正常,在app_code里新建类引用就报错. Report.cs里using ...

  8. exec族函数

    作用 在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离.这样的好处是有更多的余地对两种操作进行管理. 当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用 ...

  9. [Codeforces958C2]Encryption (medium)(区间DP)

    Description 题目链接 Solution 显然的区间DP,正常想法f[i][j]表示前i个数分成j块,每次在i前找一个k使得balala,然而常规打法会超时 我们发现,对于i前面的所有点,他 ...

  10. IE浏览器调用ActiveX获取U盘中的文件

    <p> <script type="text/javascript" language="javaScript">// <![CD ...