最近做图像需要用到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. jquery操作元素的位置

    .offset() 在匹配的元素中,获取第一个元素的当前坐标,或设置每一个元素的坐标,坐标相对于文档. .offset() 这个不接受任何参数. var offset = p.offset(); // ...

  2. JavaScript编码加密

    网上看到的加密方法: JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,deco ...

  3. 【PHP项目】$_SEVER详解

    $_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP . $_SERVER['REMOTE_HOST'] ...

  4. 创建控制器view的几种方式

    1. 根据storyboard的描述创建 2. 通过xib的描述创建 3. 通过代码创建控制器的view self.window = [[UIWindow alloc] initWithFrame:[ ...

  5. C++基础 对象的管理——单个对象的管理

    1. 为什么要有构造函数和析构函数 面向对象的思想是从生活中来,手机.车出厂时,是一样的. 这些对象都是被初始化后才上市的,初始化是对象普遍存在的一个状态. 普通方案: 对每个类提供一个 init 函 ...

  6. mybatis中@Param用法

    用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法 package Ma ...

  7. debug注意事项

    1 先看关键代码是否正确,然后查一遍是否有变量名打错. 2 再看初始化有没有问题 3 再把范围开大和开int64(这应该刚开始看题就要注意,在不爆内存的情况下开int64) 4 静态调试,输出中间值. ...

  8. 通过aop添加日志管理

    1.使用spring 的 aop 技术切到自定义注解上,所以先创建一个自定义注解类 import java.lang.annotation.*; @Target(ElementType.METHOD) ...

  9. 1 web应用

    web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端/服 ...

  10. ListView.getChildCount() 详解

    ListView.getCount() 返回的所包含的item总个数 ListView.getChildCount() (ViewGroup.getChildCount()) 返回的是现实层面上所包含 ...