1.1 库路径添加方式

1.1.1 Opencv的安装及环境变量配置

1.下载源码包


图1-1

将源码下载后双击可执行程序,安装在当前盘符下。


图1-2

源码地址:http://opencv.org/
笔者使用的版本是3.0.0,最新(2017-11-6)的版本是3.3.1。安装方法都是大同小异,希望笔者不要过分在意版本,安装方法都是相通的。

2.为Opencv 添加环境变量
计算机–>属性,点击高级系统设置。


图1-3
出来系统属性对话框后,点击环境变量。
图1-4
【Tips】不管是win7还是win8或者win10,都是大同小异。
弹出如下对话框,如果没PATH,则新建PATH。
图1-5
【注1】最好是添加到系统变量的path路径。
笔者用的是win7,编辑系统变量中的PATH,在变量值后面输入:
D:\opencv\build\x86\vc11\bin
【注2】
 如果不是新建的PATH,则最前面有一个分号。如果双击后前一条路径已经自带了分号就无需加上,如果没有需要把分号也复制进去,最后要保证两段路径之间有且仅有一个分号。

 变量值根据你所用的VS和Opencv的安装路径来决定,还有就是计算机的位数。不管读者使用的电脑是64位还是32位,笔者建议使用X86(32位),配置比较方便,下文都是配置的X86环境,有兴趣的可以试着配置64位的。对于版本的的选择应该是比当前是使用的低一位,笔者用的是VS12版本,所以选择了VC11下的bin目录,以此类推。

1.1.2 VS2012 的配置及测试

1、新建工程:选择Win32控制台应用程序,为你的工程取个名字,点击确定


图1-6
点【下一步】

图1-7
2、弹出Win32应用程序向导,按下图选中选项后,点击【完成】。

图1-8
3、配置
首先找到项目的<资源管理器>。
方法一:在菜单栏里面点<视图>–<其他窗口>–<属性管理器>

图1-9
方法二:在默认的VS布局中在工程一侧有<属性管理器>,直接单击就行了。

图1-10
点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右键属性,或者双击)即可打开属性页面。打开属性页面后,就是一番配置了。

图1-11
首先是在【通用属性】 ->【VC++目录】 ->【包含目录】中
添加上
D:\ opencv\build\include
D:\opencv\build\include\opencv
D: \opencv\build\include\opencv2 这三个目录。
【注】这是根据安装目录而定的。
接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中,
添加上D:\opencv\build\x86\vc11\lib这个路径。

图1-12
接下来就就是链接库的配置,【通用属性】 ->【链接器】->【输入】->【附加的依赖项】添加3.0.0版本的lib,带d的是debug版本,不带d的是release版本的。

opencv_world300d.lib
opencv_ts300d.lib

【注意】
添加如2.4.9版本(或者其他3.0以下版本)的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面):

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

好了到这里基本就配置完了,接下来下就是测试了。

4、测试
新建一个类。


图1-13
在文件中输入以下内容。

/**Includes*********************************************************************/
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream> /**namespace********************************************************************/
using namespace cv;
using namespace std;  /*** @brief     主函数* @param     None* @retval    int*/
int main()
{  //载入图片  Mat img = imread("pic.jpg");  // 创建一个名为 "图像显示"窗口    namedWindow("图像显示");  // 在窗口中显示图像    imshow("图像显示", img);  // 等待1000 ms后窗口自动关闭    waitKey(1000);
}

并在main.cpp的目录下一个文件名为pic.jpg的图片。运行程序的效果就
能看到图片了。

1.2 源码安装方式

在开始讲解源码安装方式之前,我们需要明白为何要这么费劲编译源码呢?起初笔者也很纳闷,编译源码既繁琐又费时,而且OpenCV官网也给我们提供了对应的win pack包,下载下来配置一下不就可以使用啦。笔者相信很多初次接触OpenCV的朋友就连使用官方的win pack都有可能没有配置成功,更不要说根据自己的电脑和需求来编译源码了。
接下来笔者就来回答为何要费劲编译源码,首先,OpenCV官网对于每个版本只提供了一到两个VS版本,很多情况下,我们不一定安装有对应的VS版本;其次,当我们开发到一定阶段,官网提供的编译库不能满足我们的需求,比如使用GPU,OpenGl,使用TBB加速等,如果读者朋友还没有听过这些名词,不要紧,你可以先尝试着在网上搜素相关名词,了解其中的用途,也可关注笔者,笔者会在其他的文章中讲解这些概念和用法。基于以上两点原因,我想大家也就明白为何哟啊编译源码了吧,接下来,就跟着笔者尝试编译源码吧。

1.2.1 CMake简介

CMake,是“crossplatform make”的缩写,它是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake 和 SCons 等其他类似系统的区别之处。

1.2.2 CMake安装

首先下载Camke软件,目前(2017-11-6)最新的版本是3.10.0-rc4。下载链接:https://cmake.org/download/,进入下载页面后,可以看到Cmake的Source distributions处可以下载到Cmake软件的源码,如果对这款开源软件感兴趣,不妨看看。


图1-14
而Binary distributions处可以下载到Cmake的执行文件,我们只需要下载到其执行文件即可,选择Windows win64-x64 Installer进行下载,笔者的64位电脑,所以下载的是64位的。

图1-15

下载可执行文件后,接下来就是安装了,安装很简单,笔者就不纤细介绍了。安装完成后,接下来就是使用CMake生成OpenCV源代码工程的解决方案

1.2.3 CMake生成OpenCV源代码工程的解决方案

【第一步】运行cmake-gui
如果在安装时没有生成桌面快捷方式,在安装路径下寻找。运行后得到如下的窗口。


图1-16
【第二步】指定OpenCV的安装路径
如下图,点击红色方框内的“Browse Source”按钮,在弹出的对话框中指定出OpenCV安装时源代码的存储路径。以版本OpenCV 3.3.1安装在D:\下为例,则在此选择路径:D: \opencv-3.3.1。

图1-17
在该路径下有一个名为CMakeLists.txt的文件,该文件就是给CMake留下的配置文件,CMake可以根据这个配置文件,通过不同的编译器选择,来生成不同的解决方案,VisualStudio的编译器对应的就生成Visual Studio版的sln解决方案。

图1-18
【注】笔者在这里使用最新的Opencv安装包-3.3.1(注意和使用库路径安装方式进行比较,这里是下载源码)。

图1-19
【第三步】指定解决方案的存放路径
如下图,点击红色方框内的“Browse Build”按钮,在弹出的对话框中指定我们存放生成的opencv解决方案的路径。比如E:/opencv。

图1-20
【第四步】第一次Configure
如图,第一次点击Configure按钮。

图1-21
弹出如下进行编译器选择的对话框:

图1-22
首先选定“Use default native compilers”,然后,我们可以发现下拉列表中提供了几十种编译器给我们选择,因为我们安装了Visual Studio,会默认为我们选择好对应版本的Visual Studio编译器,比如Visual Studio 12(即待会儿会生成对应VS2012的sln解决方案)确认无误后,单击“finish”按钮。于是,CMake开始第一次源代码配置过程:

图1-23
【注意】在安装CMake或者OpenCV不要出现中文路径,否则可能出现不可预料的错误。
看到进度条读到尽头,出现了Configuring done字样,第一次的源码配置就完成了,如图所致。

图1-24
【第五步】第二次Configure
第一次配置完成之后,我们还需要进行第二次配置,于是再次点击“Configure”按钮。这次的配置是很快的,很快再次出现“Configuring done”字样,并且红色的选中部分都正常了。

图1-25
【第六步】点击Generate
点Generate按钮,来生成最终的解决方案了。

图1-26

图1-27
看到Generating done字样,就表示大功告成,可以去之前我们指定的E:\opencv下找寻我们生成的解决方案了。

图1-28

1.2.4编译OpenCV.sln

打开生成的Opencv工程,选择CMakeTargets下INSTALL,右键“生成”,生成Debug版dll,lib。切换编译模式为Release模式,重复上一步生成Release版dll,lib。(如果使用Debug就不需要编译Release版本了)。

编译完成后就能看到最终Debug版和Release版(如果选择编译了)的dll,lib,以及文档目录doc,头文件目录include(bin内为两个版本dll,lib内为两个版本lib)。

编译后的目标库在E:\opencv\install文件夹下,具体路径是选择的路径决定。接下来的配置和库路径的配置方式相同,这里编译后的install文件夹就相当于win pack包的build文件夹,所以博主就不在重复了,不明白前看前文。

【第一部分-环境搭建】Opencv环境搭建(Visual Studio+Windows)相关推荐

  1. Python:搭建OpenCV环境

    Python:搭建OpenCV环境 OpenCV介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS ...

  2. Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)

    Revit二次开发环境搭建(Revit 2019+Visual Studio 2017) 安装 Revit 2019 Visual Studio 2017 Revit SDK 2019 配置Addin ...

  3. 搭建opencv环境

    有个测试项目,需要opencv环境,于是搭建一个,但是这个项目又需要python3.6以上,ubuntu服务器上是3.5,需要升级,这个比较简单,我直接升级到了3.7: sudo apt-get in ...

  4. Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)

    Revit 2019开sql教程发环境java基础教程的搭建,需要python基础教程安装的c#教程内容如下: Revit 2019(主要vb.net教程的开发环境) Visual Studio 20 ...

  5. 通过 railway 和 code-server 搭建网页版的 visual studio code

    背景和需求 我有一个 iPad 平板, 平时出门碎片时间在 leetcode 和 binarysearch 上刷题[1], 因为可以直接在网页里敲代码. 除了用一些SSH Terminal[2]远程登 ...

  6. SpringBoot + Spring Cloud +Vue 管理系统前端搭建(二、visual studio code开发前端项目

    我们打开visual studio code , 选择文件------------->将文件夹添加到工作区,导入我们的项目 安装Element 导入后,我们安装以下element 官网:http ...

  7. visualstudio发布网站到服务器,发布到网站 - Visual Studio (Windows) | Microsoft Docs

    使用 Visual Studio 将 Web 应用发布到网站 01/29/2019 本文内容 可以使用"发布"工具将 ASP.NET.ASP.NET Core..NET Core ...

  8. delphi测试服务器响应时间,负载测试中的页面响应时间 - Visual Studio (Windows) | Microsoft Docs...

    如何:使用负载测试分析器在负载测试中查看网页响应时间 10/19/2016 本文内容 加载每个网页所需的时间称为"响应时间". 创建 Web 性能测试时,可以为 Web 性能测试中 ...

  9. VS2017搭建OpenCV环境(新手详细教程)

    整体流程如下: 下载Visual Studio2017版本 下载OpenCV3.4.1版本 配置环境变量 在Visual Studio2017中引入头文件.库文件.链接库 环境测试 说明:没有必要根据 ...

最新文章

  1. 张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质!
  2. 【LeetCode】two num 利用comparable接口 对对象进行排序
  3. python 装饰器实现事件绑定_Python装饰器是怎么实现的?
  4. 释疑のABAP内表的比较
  5. java transaction cn_GitHub - cnzebra/tcc-transaction: tcc-transaction是TCC型事务java实现
  6. Qt工作笔记-在界面上输出变量、类、this指针的地址
  7. Dubbo 本地存根
  8. Android-----使用Button特效selector+shape
  9. 101个Google技巧——Google技巧的终极收集
  10. 4-19 面向对象 的内置方法
  11. dart安装:sdk下载地址( 2.4.0)
  12. Python计算水仙花数
  13. matlab 积分函数曲线,matlab数值积分函数
  14. 个人微信api接口调用,拉取微信朋友圈、发朋友圈
  15. BIM设计/工程设计图形工作站硬件配置方案详解
  16. 香港服务器还能否备案?
  17. 信号一会有 一会显示无服务器,为什么有时手机信号差?原来是因为这些原因!...
  18. 【故障•监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe
  19. Linux部署dns服务器(dnsmasq方式)
  20. 【微信小程序入门到精通】—小程序实战构建售货平台首页

热门文章

  1. IDEA代码提示快捷键Ctrl+Space不生效问题
  2. 英:程序员 外企 英语常用语 (整理)
  3. 用静态KML脚本在GoogleEarth上实现动态效果
  4. 网络爬虫获取地铁人流量数据
  5. 基于JAVA线上动漫周边商城计算机毕业设计源码+数据库+lw文档+系统+部署
  6. 主成分回归的r语言代码
  7. Django实现excel导入数据库(超详细)
  8. 采用面向对象的方法来实现留言板的添加和删除功能
  9. PS 的形状工具的布尔运算
  10. 如何查看一个网站上的图片等内容有没有放在CDN上