opencv配置的完整步骤(win10+VS2015+OpenCV3.1.0)

 更新时间:2021年06月03日 10:42:32   作者:水亦心  
OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大,这篇文章主要给大家介绍了关于opencv配置(win10+VS2015+OpenCV3.1.0)的相关资料,需要的朋友可以参考下

一、前言(吐槽+煽情+简介)  

        1.吐槽

        为啥这个时候我要发这个呢?其实我是想以后有空的时候再发,因为最近事情比较多,但是,昨天发生了一件非常悲伤的事情,电脑电池炸了,电脑电池炸了,电脑电池炸了。

        不由得安慰自己:天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其生,行拂乱其所为,所以动心忍性,增益其所不能。

        2.煽情

        在这里,我还是要感谢一下一个人,一个我生命中最重要的男人,他对自己“小气”了一辈子,出去工作,舍不得乱花一分钱,但他还是会倾其所有来满足我,他说,这个时候,你要好好学习,不要因为别的扰乱你自己,如果有用,再买一个。对,这个人就是我的爸爸。父爱如山,我以后也会成为一个父亲,所以,首先我要做一个好儿子,好好努力,让父母为我而骄傲。

        所以,如果你看了我的博客,我希望你不仅能学到知识,更希望你能知道,你有这个好的机会来学习,总会有人在你背后默默付出,你要努力,为了自己,也要为了在你背后默默付出的人。

        最后一句煽情:爸爸,我爱你。

        3.简介

        OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
        OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby的支持。

        我在学习的时候,所有免费的文档,文章,都是关于2.4.9的,最开始想过用2.4.9,后来自己买了教程,用的是3.1.0,所以自己也用了3.1.0。

        最近几年人工智能突然火了,机器学习,深度学习更是遍地开花,神经网络更是为人们所熟知。所以从3.3.0版本的opencv开始支持神经网络。如果要学习神经网络,建议用3.3.0以上的,但是最好不要用最新的,这个最新不是说最高的,而是说,假如2018年5.19号刚刚发布,你今天就要用,可能网上都没有相关教程,特别是opencv2.0版本和3.0版本有些是不一样的,api名字都不一样,万一最新版有改版,或者不支持你的编译环境,作为初学者,你遇到问题,解决方案都找不到,除非你身边有大牛。当然你如果是一个相关领域的大牛,可以选用最新版,感受一下新版的各方面特性,这个官网也应该会有相关的文档的,最为大牛的你,这个问题对你来说,不是问题。

        还有就是本文不讲vs2015的安装与配置,因为vs2015不是一个简简单单的库,你需要根据自己的需要去选择一些功能。这里就不再赘述了。

二、相关文件下载

        vs2015:百度会有很多下载位置,自由选择。这里就不再提供啦。

        opencv3.1.0:链接: https://pan.baidu.com/s/1s39IL6Qfju7k5Bs0Ui2oPA 提取码: 5g9e。

opencv安装

        双击opencv3.1.0打开,选择安装目录,记住,一定要养成一个习惯:能不安装在C盘就不要安装在C盘。如果电脑有很多盘,最好有一个盘是放安装软件和安装包的,想做一个程序员,一定要让自己的文件归类清晰一点。一般会有如下的文件夹和文件。

三、配置变量环境

        这一步的步骤顺序如下,然后大家看图就好了:

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

             

        在路径配置中填写 ”…… opencv\build\x64\vc14\bin”,很多人发现,X64中有两个文件夹:

        VC12和VC14,很多人不明白这个是什么意思?这个其实是VS对应的版本号。详细的对应如下:

Visual Studio 6 vc6                   
Visual Studio 2003 vc7
Visual Studio 2005 vc8
Visual Studio 2008 vc9
Visual Studio 2010 vc10
Visual Studio 2012 vc11
Visual Studio 2013 vc12
Visual Studio 2015 vc14

        所以如果你是2013的也可以啦。因为3.1.0下面有VC12。支持VS2013。

四、配置2015

1.VC++下的包含与库目录

新建一个c++项目,在项目名称右键选择属性。进入下面这个界面,我们首先需要配置包含目录和库目录

        在右侧点击,进入编辑。

        然后按照下面的框框,从上往下点,将目录复制到框里保存,一共保存三个:

        “...\opencv\build\include”; “...\opencv\build\include\opencv”; “...\opencv\build\include\opencv2”

        用同样的方式在库目录中添加“...\opencv\build\x64\vc14\lib”。

2.链接器下的配置

在链接器下的输入中,打开附加依赖项,并输入:

        opencv_world310.lib;opencv_world310d.lib;

注意点

理论上,所有的工作就做完了,然后就可以调试运行啦。大家可以复制如下源代码。注意imread()函数是读取图片,括号里面是“路径+图片名称”。并且要用正斜杠,或者两个反斜杠。如果用一个反斜杠,会被认为是转义字符的前缀。

五、测试源码及问题解决

#define INPUT_TITLE "input image"#include<iostream>#include<opencv2\opencv.hpp>using namespace std;using namespace cv;int main() {Mat src;src = imread("E:/image/src.jpg");if (!src.data){cout << "ERROR : could not load image.";return -1;}namedWindow(INPUT_TITLE, CV_WINDOW_AUTOSIZE);imshow(INPUT_TITLE, src);waitKey(0);return 0;}

        然后,报错了。这个是因为你不是在C盘安装的,程序找不到该文件。解决方案如下:

     将bin目录(...\OpenCV\build\x64\vc12\bin)中的3个dll文件复制在(C:\Windows\System32)或者(C:\Windows\SysWOW64)中。

        解决了这个问题,就能正确输出啦。

六、输出效果图

总结

到此这篇关于opencv配置(win10+VS2015+OpenCV3.1.0)的文章就介绍到这了,更多相关opencv配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于C++全局变量的声明与定义的详解

    基于C++全局变量的声明与定义的详解

    本篇文章是对C++全局变量的声明与定义进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++中简单的文本文件输入/输出示例详解

    C++中简单的文本文件输入/输出示例详解

    C++程序把输入和输出看作字节流,输入时程序从输入流中抽取字节,输出时程序将字节插入到输出流中,下面这篇文章主要给大家介绍了关于C++中简单的文本文件输入/输出的相关资料,需要的朋友可以参考下
    2021-12-12
  • C语言数据存储归类介绍

    C语言数据存储归类介绍

    使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么
    2022-08-08
  • C语言实现递归版扫雷游戏实例

    C语言实现递归版扫雷游戏实例

    大家好,本篇文章主要讲的是C语言实现递归版扫雷游戏实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 深入解析C++编程中类的封装特性

    深入解析C++编程中类的封装特性

    这篇文章主要介绍了深入解析C++编程中类的封装特性,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • c++实现超简单的贪吃蛇游戏实例介绍

    c++实现超简单的贪吃蛇游戏实例介绍

    大家好,本篇文章主要讲的是c++实现超简单的贪吃蛇游戏实例介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • C++LeetCode数据结构基础详解

    C++LeetCode数据结构基础详解

    这篇文章主要介绍了C++实现LeetCode数据结构,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C++类和对象深入探索之分文件编写点和圆的关系详解

    C++类和对象深入探索之分文件编写点和圆的关系详解

    先前把C++类和对象的封装讲完了,并且留下了一个判断两个立方体是否相等的案例,但是那么多知识点,仅仅一个案例是不够的,所以再来一个分文件编写点圆关系的案例;创建圆类和点类,圆类包含点类,算是一个嵌套吧,顺便复习一下分文件编写的方法,开整
    2022-05-05
  • c++ 完备的运行时类型信息(动态类型信息)

    c++ 完备的运行时类型信息(动态类型信息)

    这篇文章主要介绍了c++ 完备的运行时类型信息,需要的朋友可以参考下
    2017-07-07
  • C语言实现三子棋游戏

    C语言实现三子棋游戏

    这篇文章主要为大家详细介绍了C语言实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论