博客园样式换了,原先的文章排版太乱了,新发一篇

0. 安装 opencv 3.0


首先去官网下载安装包(其实是个压缩包),释放到随便的一个路径里面为了方便描述,下面把这个路径称为 cvPath。

然后以管理员权限运行命令行,执行下面的命令:

setx -m OPENCV_DIR cvPath\build\x64\vc12
setx -m OPENCV_DIR cvPath\build\x86\vc12

1. 添加系统环境变量


桌面-此电脑-右键-属性-高级系统设置-环境变量

在 系统环境 List 中选择 Path,单击 编辑

添加下面的路径:

OPENCV_DIR\bin

重启电脑,使系统变量生效

2. 配置 VS2015


新建一个 C++ 的控制台项目

视图-属性管理器-展开你的项目-选择 Debug|Win32-右键-新建新项目属性表

建立好新的属性表后打开它,分别设置以下的项目:

  • 通用属性

    • C/C++

      如果没有出现这个选项卡请向项目中添加一个 C/C++ 源文件

      • 常规

        附加包含目录:

          $(OPENCV_DIR)\..\..\include
    • 链接器
      • 常规

        附加库目录:

          $(OPENCV_DIR)\lib
      • 输入

        附加依赖项:

          opencv_ts300d.lib
        opencv_world300d.lib

        可以根据需要添加其他的库,以“d”结尾的库是在 debug 模式中使用的,opencv库的命名规则是

          opencv_(The Name of the module)(The version Number of the library you use)d.lib

完成上面的设置后就可以保存了,这个属性表文件保存在项目的根目录中,如果要在其他的项目中使用 opencv 也可以使用以上方法,唯一的不同是之后的项目可以直接添加现有属性表。

3. Have fun!


#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream> using namespace cv;
using namespace std; int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
} Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file if( image.empty() ) // 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;
}

这个小程序使用命令行参数运行,参数是一个图片文件的路径。

4. Naive!


哈哈哈哈,你以为这么容易就可以直接运行吗?你们啊,too young too simple,sometimes naive!

VS2015的编译器版本是 vc14 ,然后你是不是发觉了一些问题?

opencv 3.0 的使用的是 vc12 编译的,所以VS2015在编译你的程序的时候会使用更高级的库,这导致程序出错。

解决方法是把下面的两个文件放到cvPath\build\x86\vc12\bin里面。

http://pan.baidu.com/s/1hqF8nlU

然后,完美运行。

5.一些疑问


  1. 在 Nuget 中也有 opencv 包可以下载供 C++ 使用,从这里面下载的 opencv 要如何在程序中调用呢?
  2. opencv 只能在 x86 平台使用吗?因为我尝试生成 x64 的时候会提示模块计算机类型与目标计算机类型冲突。
  3. vc12 跟 vc14 到底是什么东西?我在上面是猜的。

参考文章:

OpenCV3.0.0+win10 64位+vs2015环境的下载,安装,配置与属性表的生成

Vs2015+opencv2.4.10出现msvcp120d.dll丢失 opencv2410.props

How to build applications with OpenCV inside the Microsoft Visual Studio

Installation in Windows

VS2015+Windows 10下配置opencv3.0的更多相关文章

  1. Windows 10 下ASP.NET4.0尚未在Web服务器上注册

    系统换成Win10后,打开VS2012出现如下问题: 网上查找了,大部分都是 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319 并管理员运行aspnet_ ...

  2. windows 10 下配置安装node.js

      环境配置 node.js windows10 25.5k 次阅读  ·  读完需要 6 分钟 5 在去年就自己配置安装过node.js,但是使用npm安装模块时安装成功后调用require('mo ...

  3. PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战

    原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置:   程序准备: PHP windows版本下载地址: http://windows.php. ...

  4. 【Flutter 1-2】在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境

    在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境 文章首发地址 配置环境变量 由于部分网站被墙的原因,我们需要先配置Flutter国内镜 ...

  5. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  6. Mac下安装OpenCV3.0和Anaconda和环境变量设置

    入手Mac几天了,想在Mac OS下玩玩OpenCV和keras,间歇捣鼓了两天,终于搞定zsh.OpenCV3.0以及Anaconda.OpenCV3.0刚发布不久,这方面的资料也不是很多,能够查到 ...

  7. Windows 10下mysql 64位 安装(mysql-5.7.11-winx64安装)

    Windows下mysql 64位 安装(mysql-5.7.11-winx64安装) 系统Windows10 安装包mysql-5.7.11-winx64.zip 安装过程中遇到的问题,请留意4.0 ...

  8. 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用)

    目录 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用) 背景 下载地址 仓库地址 安装部署 msys2 安装 配置环境变量 ...

  9. 【经验之谈】Windows环境下配置WordPress

    前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...

随机推荐

  1. Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类

    当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...

  2. PostgreSQL 同步复制(1master+2standby)

    OS: Red Hat Enterprise Linux Server release 6.5 (Santiago) PostgreSQL: postgresql-9.4.5.tar.bz2 mast ...

  3. Summary: Merge Sort of Array && 求逆序对

    常用算法(后面有inplace版本): package ArrayMergeSort; import java.util.Arrays; public class Solution { public ...

  4. FAQ: c++ 函数名后添加 const void function1(int &id) const

    说明这个函数不能修改这个类的成员变量!只能操作自己的参数和内部的范围变量! 括号内的&id,&表示这个变量和C# in和out是一样的,算是一个reference,可以更改值,要想不更 ...

  5. [原创]java WEB学习笔记60:Struts2学习之路--Actioin-声明式异常处理

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. Android 5.0新特性了解(一)----TabLayout

    1.在2015年的google大会上,google发布了新的Android Support Material Design库,里面包含了几个新的控件,其中就有一个TabLayout,它就可以完成Tab ...

  7. RobotFrameWork接口报文测试-----(一)简单demo的实现

    最近几个月的工作任务都是通过使用RF工具来搭建服务器端接口的自动化测试,使用python作为2次开发的语言,也是第一次去做这种项目,经验善浅,还是很有可能会走很多的弯路,为此,我希望自己能把每个阶段的 ...

  8. 【fedora】强制解除yum锁定

    运行yum makecache时出现yum update时候出现Another app is currently holding the yum lock解决方法yum被锁定了. 可以通过执行 rm ...

  9. VS中快速生成json数据格式对应的实体

    JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双 ...

  10. opencv常用数据结构之:IplImage

    typedef struct_IplImage{      int nSize; //IplImage大小      int ID; //版本(=0)      int nChannels; //大多 ...