1、opencv下载与安装

1.下载地址:官网下载地址https://opencv.org/releases.html   opencv为开源软件,可直接在官网下载最新版本。

2.软件安装:opencv其实并不需要安装,从官网下载的文件就是一个自解压的文件,所以从其它地方拷贝的解压好的文件夹也是可以用的。以opencv3.0.0版本为例,下载完后得到文件opencv-3.0.0.exe,双击运行该文件,会出现解压路径选择对话框

选择你想要放置的路径即可,点击Extract确定执行。出现下图

等待安装完成即可。

2、opencv下载与安装

配置方法如下:

  【计算机】->【(右键)属性】->【高级系统设置】->【高级】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。

如下图所示:

添加路径如下:

其中VC15为VS版本号对应VS2017,其它版本对应关系如下

3、VS目录包含

  首先是在Visual Studio里面新建一个控制台应用程序,最好是勾好空项目那个勾。打开visual studio,新建window控制台项目,取个名字,比如叫test1,然后选好路径,点确定.

<2>在属性管理器中进行一次配置,就相当于进行了通用的配置过程,以后新建的工程就不用再额外的进行重新配置了。

在菜单栏里面点<视图>--<其它窗口><属性管理器>,那么就会在visual studio中多出一个属性管理器工作区来。

在新出现的“属性管理器”工作区中,双击项目->Debug|x64->Microsoft.Cpp.x64.user即可打开属性页面。

打开属性页面后,就是配置了。

1.包含目录配置

在【通用属性】 ->【VC++目录】 ->【包含目录】中

包含目录中添加上

库目录中,添加上:

2.附加依赖项

依然是在“属性管理器”工作区中,双击项目->Debug|x64->Microsoft.Cpp.x64.user即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】

已经发行和未来即将发布的新版OpenCV,只需看opencv\build\x64\vc15\lib下的库是哪几个,添加成依赖项就可以了。

对于【OpenCV 3.4.2】想用debug版本的库,添加

opencv_world342d.lib

而想用release版本的库,添加

opencv_world342.lib

也可以把带d和不带d的两个都添加,这里不建议将两个库都添加到debug依赖项下,因为以后会出现两个同名窗口的现象。所以最好将带d的添加到debug依赖项下,将不带d的添加到release附加依赖项下。

3.在Windows文件夹下加入OpenCV动态链接库

如果运行文末的测试程序没有报错这步也可以不做。

这一步是各种介绍OpenCV的配置的相关博文中都没写出来的。根据这些博文配置出来的环境,在运行基于OpenCV的程序的时候,往往会得到这样类似的结果:

这种问题最简单粗暴的方法,是把相关的dll都拷贝到Windows操作系统的目录下。如果你的Windows安装在C盘,那么路径就是c:\Windows\System32。按照之前我的OpenCV的存放环境,这些dll存放在D:\ProgramFiles\opencv340\opencv\build\x64\vc15\bin目录下。

到这个目录下,复制对应dll,然后粘贴到c:\Windows\System32下面,简单粗暴地就完成了。

至此opencv便配置完成了

4、测试

  编写程序如下:

#include "stdafx.h"
#include<opencv2\core.hpp>
#include<opencv2\highgui.hpp> using namespace cv; int main()
{
Mat img = imread("111.jpg");
namedWindow("noticeable");
imshow("noticeable", img);
   waitKey();
   return ;
}

  将图片111.jpg放到项目目录.......\tset1\test1下(与tset1.cpp同一目录),运行程序,可以显示111.jpg图片即OK。

注意:运行时需选择Debug&64位编译器,

还有注意的是,如果希望获得release,Cmake生成的文件还需要选择Release模式下再生成一次解决方案

编译运行结果如下:

参考资料:

VS2017 + OpenCV3 永久配置,同时 解决 debug模式下不报错release模式报错 或 debug模式下不报错release模式报错 的问题

windows基于vs2017的opencv安装的更多相关文章

  1. Windows下VS2017编译OpenCV 3.4.0-rc

    简述 很久没有用过OpenCV了,这次需要做一点图像处理相关的工作,又需要用起来,这里记录一下编译的过程.之前介绍过使用vs2015编译opencv2.4的帖子在这里. 编译好的文件在这里https: ...

  2. 基于java的OpenCV安装和配置

    目录 OpenCV简介 OpenCV下载安装 eclipse里引用jar包和配置 OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Window ...

  3. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  4. BugKu 2B+基于python的opencv的安装-------CTF 盲水印的套路

    BugKu杂项-2B 下载图片后,binwalk下跑一跑,发现有个zip,分离. 值得一提的是,这个zip是伪加密的. 但是你在分离的时候,伪加密的图片也给你分离出来了.这两个图片2B和B2肉眼看起来 ...

  5. C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  6. 判断OpenCV是否为共享库,Windows基于CMake编译Caffe需要opencv共享库

    判断OpenCV是否为共享库,Windows基于CMake编译Caffe需要opencv共享库 TLDR 只考虑windows下opencv预编译包的情况. 对于opencv2.4.x系列,cmake ...

  7. 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】

    文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...

  8. numpy、scipy、matplotlib、OpenCV安装及问题解决

    1 numpy 概述 numpy是Numerical Python的缩写,释义为数值的Python numpy弥补了作为通用编程语言的Python在数值计算方面能力弱.速度慢的不足(numpy的底层是 ...

  9. Windows环境下最新OpenCV和Contribute代码的联合编译【20190505更新红字】

    解决这个问题,目的在于获得并使用最新的完全版本的代码,主要方法是对CMake能够熟练使用,并且对编译等基础支持有所了解. 因为这篇博客经过多次修改,所以里面的内容和配图可能有不是完全比对的地方,但是只 ...

随机推荐

  1. [python,2018-03-06] python中的继承顺序

    python 支持多继承,但对与经典类和新式类来说,多继承查找的顺序是不一样的.  经典类: 新式类   class P1:      def foo(self):                   ...

  2. JS调试技巧

    大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能大家对co ...

  3. openstack网络

    OpenStack中neutron的2种ip.3种管理模式 Nova有固定IP和浮动IP的概念.固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址. Nova支持3种 ...

  4. js day01

    一)什么是JavaScript[以下简称JS] JS是 (1)基于对象 JS本身就有一些现成的对象可供程序员使用,例如:Array,Math,String... JS并不排除你可以自已按一定的规则创建 ...

  5. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...

  6. 如何切换pip的源

    参考别人的帖子https://blog.csdn.net/chenghuikai/article/details/55258957

  7. JAVA数据库连接池C3p0 以及阿里Druid提供的连接池

    一:连接池的定义 本质上就是个容器(集合) 存放数据库连接的容器,当系统初始化后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取连接对象,用户用完之后,归还. 二:常用的 ...

  8. centos下通过pid查看进程的绝对路径的方法

    例如: 我想要知道我执行中的mysql路径 netstat -nlp pid拿到15330,然后 cd /proc/15330 由于linux在启动一个进程时,会在/proc下创建一个以PID命名的文 ...

  9. spark快速开发之scala基础之5高阶函数,偏函数,闭包

    高阶函数 高阶函数就是将函数作为参数或者返回值的函数. object function { def main(args: Array[String]): Unit = { println(test(f ...

  10. Curator场景应用

    分布式锁功能: 在分布式场景中,我们为了保证数据的一致性,经常在程序运行的某一个点,需要进行同步操作,(java提供synchronized或者Reentrantlock实现), 使用curator基 ...