在windows上安装OpenCV,官方提供的教程,我翻译了一下。如有不正解,请指正

使用git-bash(版本> = 2.14.1)和cmake(版本> = 3.9.1)安装

1.您必须下载cmake(版本> = 3.9.1)并进行安装。 安装期间必须将cmake添加到PATH变量
2.您必须安装git-bash(版本> = 2.14.1)。 在安装过程中不要将git添加到PATH变量中
3.运行git-bash。 您观察到命令行窗口。 假设您要在c:/ lib中构建opencv和opencv_contrib
4.在git命令行中输入以下命令(如果文件夹不存在):
mkdir /c/lib
cd /c/lib
5.使用名称installOCV.sh将此脚本保存在c:/ lib中

#!/bin/bash -e
myRepo=$(pwd)
CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
if [  ! -d "$myRepo/opencv"  ]; thenecho "cloning opencv"git clone https://github.com/opencv/opencv.gitmkdir -p Build/opencvmkdir -p Install/opencv
elsecd opencvgit pull --rebasecd ..
fi
if [  ! -d "$myRepo/opencv_contrib"  ]; thenecho "cloning opencv_contrib"git clone https://github.com/opencv/opencv_contrib.gitmkdir -p Build/opencv_contrib
elsecd opencv_contribgit pull --rebasecd ..
fi
RepoSource=opencv
pushd Build/$RepoSource
CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF  -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON'
cmake -G"$CMAKE_CONFIG_GENERATOR" $CMAKE_OPTIONS -DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
echo "************************* $Source_DIR -->debug"
cmake --build .  --config debug
echo "************************* $Source_DIR -->release"
cmake --build .  --config release
cmake --build .  --target install --config release
cmake --build .  --target install --config debug
Popd

在此脚本中,我想您以64位使用VS 2015
CMAKE_CONFIG_GENERATOR=“Visual Studio 14 2015 Win64”

备注
如果你想要用VS 2017,你可以这样修改
CMAKE_CONFIG_GENERATOR="Visual Studio 15 2017 Win64"

并且opencv将安装在c:/ lib / install中
-DCMAKE_INSTALL_PREFIX=“myRepo"/install/"myRepo"/install/"myRepo"/install/"RepoSource” “myRepo/myRepo/myRepo/RepoSource”
没有Perf测试,没有测试,没有文档,没有CUDA以及没有示例
CMAKE_OPTIONS=’-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF’

6.在git命令行中输入以下命令:
./installOCV.sh
7.喝一两杯咖啡… opencv准备好了:就这些!
8.下次运行此脚本时,将更新并重建opencv和opencv_contrib

到这里就完成了安装,可以在Visual Studio里用OpenCV了。这是最简单的方法,如果你想要opencv_contrib下的module,但如果你只想要OpenCV,可以直接在OpenCV的官网上下载windows的安装包,解压后就可以了。

通过从源文件制作自己的库进行安装

如果您要构建自己的库,则可以从我们的Git存储库中获取源文件。

从头开始构建OpenCV库需要预先安装几个工具:

  • 选择一个IDE(最好),或者只是一个将实际生成二进制文件的CC ++编译器。 在这里,我们将使用Microsoft Visual
    Studio。 但是,您可以使用具有有效CC ++编译器的任何其他IDE。

  • CMake,这是一个精巧的工具,可以从OpenCV源文件生成项目文件(针对您选择的IDE)。 它还将允许轻松配置OpenCV构建文件,以使二进制文件完全适合您的需求。

  • Git获取OpenCV源文件。
    一个很好的工具是TortoiseGit。 另外,您也可以从Sourceforge上的页面下载源文件的存档版本

OpenCV可能有多种形式。 有一个“核心”部分可以独立工作。 尽管如此,还是有一些由第三方组成的工具库(3rd parties),它们提供了OpenCV可以利用的服务。 这些将在许多方面提高其功能。 为了使用它们中的任何一个,您需要下载并将它们安装在系统上。

  • 需要Python库来构建OpenCV的Python接口。现在,请使用2.7.{x}版本。如果要构建OpenCV文档,这也是必须的。

  • Numpy是用于Python的科学计算软件包。 Python介面所必需。

  • OpenCV内部使用英特尔线程构建模块(TBB)处理并行代码段。使用此功能可确保OpenCV库将利用系统CPU中拥有的所有内核。

  • 英特尔集成性能基元(IPP)可用于提高OpenCV库的颜色转换,Haar训练和DFT功能的性能。请注意,因为这不是一项免费服务。

  • 与使用Qt框架的默认用户界面相比,OpenCV提供了一种更精美,更有用的图形用户界面。要快速了解此功能,请查看“ Qt新功能”部分下的文档highgui模块。需要框架的4.6版或更高版本。

  • Eigen是用于线性代数的C ++模板库。

  • 最新的CUDA工具包将允许您使用GPU内部的电源。这将大大提高某些算法(例如HOG描述符)的性能。 OpenCV团队不断努力使我们越来越多的算法能够在GPU上运行。

  • 该库需要OpenEXR源文件才能使用这种高动态范围(HDR)图像文件格式。

  • OpenNI框架包含一组开源API,这些API通过语音命令识别,手势和身体运动跟踪等方法为与设备的自然交互提供支持。预编译的二进制文件可以在这里找到。 Github上也提供了OpenNI和OpenNI2的源代码

  • Doxygen是一个文档生成器,并且是实际上将创建OpenCV文档的工具。

现在,我们将描述完整构建所要遵循的步骤(使用上述所有框架,工具和库)。 如果不需要其中一些支持,则可以随意跳过本节。

建立文库

1.确保您的IDE带有有效的编译器。如果是Microsoft Visual Studio,则只需安装并确保其启动即可。
2.安装CMake。只需遵循向导,无需将其添加到路径。默认安装选项为“确定”。
3.从其官方站点下载并安装msysgit的最新版本。还有一个便携式版本,您只需打开包装即可访问Git的控制台版本。假设对于我们中的某些人来说,这可能就足够了。
4.安装TortoiseGit。根据您使用的操作系统类型选择32位或64位版本。在安装时,找到您的msysgit(如果它不会自动执行此操作)。按照向导进行操作–大多数情况下,默认选项都可以。
5.在文件系统中选择一个目录,您将在其中下载OpenCV库。我建议创建一个路径短且没有特殊字符的新路径,例如D:/ OpenCV。对于本教程,我建议您这样做。如果您使用自己的路径并且知道自己在做什么–可以。
a.将存储库克隆到所选目录。单击“克隆”按钮后,将出现一个窗口,您可以从其中选择要下载源文件的存储库(https://github.com/opencv/opencv.git)以及要下载到的目录(D:/ OpenCV)。
b.按下“确定”按钮,请耐心等待,因为该资源库下载量很大。这将需要一些时间,具体取决于您的Internet连接。
6.在本节中,我将介绍安装第三方库(3rd party libraries)。
a.下载Python库并使用默认选项进行安装。您将需要其他几个python扩展。幸运的是,可以通过一个名为Setuptools的不错的工具来自动安装所有这些工具。重新下载并安装。
b.安装Numpy的最简单方法是仅从sourceforge页面下载其二进制文件。确保下载并完全安装适用于python版本的二进制文件(适用于2.7版本)。
c.对于英特尔线程构建模块(TBB),请下载源文件并将其解压缩到系统上的目录中。例如,让D:/ OpenCV / dep。对于安装英特尔集成性能基元(IPP)的情况是相同的。要提取档案,我建议使用7-Zip应用程序。

d.如果是Eigen库,则还是要下载并解压缩到D:/ OpenCV / dep目录。
e.与上述OpenEXR相同。
f.对于OpenNI框架,您需要同时安装开发版本和PrimeSensor模块。
g.对于CUDA,您再次需要两个模块:最新的CUDA工具包和CUDA工具SDK。 根据您的操作系统,使用32或64位设置下载并安装完整的选项。
h.如果使用Qt框架,则需要自己构建二进制文件(除非您将Microsoft Visual Studio 2008与32位编译器一起使用)。 为此,请转到“ Qt下载”页面。 下载源文件(而不是安装程序!!):

将其解压缩到一个漂亮且简短的目录中,例如D:/ OpenCV / dep / qt /。 然后,您需要构建它。 通过使用开始菜单搜索来启动Visual Studio命令提示符(2010)(或在开始菜单“所有程序”->“ Microsoft Visual Studio 2010”->“ Visual Studio工具”->“ Visual Studio命令提示符”(2010)中导航)。


现在,导航到提取的文件夹,并使用此控制台窗口在其中输入。 您应该有一个包含诸如Install,Make等文件的文件夹。 使用dir命令列出当前目录中的文件。 到达此目录后,输入以下命令:
configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools
-no-qt3support -no-multimedia -no-ltcg
完成此过程大约需要10-20分钟。 然后输入下一个命令,该命令将花费更长的时间(很容易花费甚至超过一个小时的时间):
nmake
之后,在Windows 7上使用以下命令设置Qt环境变量:
setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3
另外,通过使用PathEditor将构建的二进制文件路径添加到系统路径。 在我们的例子中,这是D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin。

注意
如果计划进行Qt应用程序开发,则此时也可以安装Qt Visual Studio加载项。 之后,您无需使用Qt Creator即可制作和构建Qt应用程序。 一切都很好地集成到Visual Studio中。

7.现在启动CMake(cmake-gui)。 您可以再次在开始菜单搜索中输入它,也可以从“所有程序”-> CMake 2.8-> CMake(cmake-gui)中获取它。 首先,选择OpenCV库的源文件目录(1)。 然后,指定用于构建OpenCV(2)二进制文件的目录。

按“配置(Configure )”按钮以指定要使用的编译器(和IDE)。 请注意,如果您可以在不同的编译器之间进行选择,以制作64位或32位库。 选择在应用程序开发中使用的一个。

CMake将启动,并根据您的系统变量尝试自动定位尽可能多的软件包。 您可以在WITH –> WITH_X菜单点(其中X是软件包的缩写)中修改要用于构建的软件包。 以下是您可以打开或关闭的当前软件包的列表:

选择您要使用的所有软件包,然后再次按“配置”按钮。 为了更轻松地了解构建选项,请确保已打开二进制目录选择下的“分组”选项。 对于某些软件包,CMake可能找不到所有必需的文件或目录。 在这种情况下,CMake将在其输出窗口(位于GUI的底部)中引发错误,并将其字段值设置为找不到常量。 例如:


对于这些,您需要手动设置查询的目录或文件路径。 之后,再次按“配置”按钮以查看您输入的值是否被接受。 执行此操作,直到所有输入都正确,并且看不到GUI的字段/值或输出部分中的错误为止。 现在,我想强调一个您一定会喜欢的选项:ENABLE –> ENABLE_SOLUTION_FOLDERS。 OpenCV将创建许多项目,并且选择此选项将确保它们在解决方案资源管理器的目录中被归类。 如果您问我,这是必须具备的功能。

此外,您需要选择要构建OpenCV的哪一部分。

  • BUILD_DOCS->它创建两个项目来构建OpenCV的文档(将有一个单独的项目来构建HTML和PDF文件)。请注意,这些不是与解决方案一起构建的。您需要对这些命令执行一个明确的build project
  • BUILD_EXAMPLES-> OpenCV附带了许多示例应用程序,您可以从中学习大多数库功能。如果您的计算机上的OpenCV功能齐全,这也将很容易尝试。
  • BUILD_PACKAGE->在此之前的2.3版之前,您可以构建一个将构建OpenCV安装程序的项目。这样,您就可以轻松地在其他系统上安装OpenCV Favourite。对于OpenCV的最新源文件,它将生成一个新项目,该项目仅使用OpenCV源创建一个zip存档。
  • BUILD_SHARED_LIBS->使用此控件,您可以控制构建DLL文件(打开时)或构建静态库文件(* .lib)。
  • BUILD_TESTS-> OpenCV的每个模块都分配有一个测试项目。构建这些测试项目也是尝试的好方法,因为这些模块也可以在您的系统上正常工作。
  • BUILD_PERF_TESTS->还有许多OpenCV函数的性能测试。如果您担心性能,请构建它们并运行。
  • BUILD_opencv_python->不言自明。创建二进制文件以使用来自Python语言的OpenCV。
  • BUILD_opencv_world->生成一个包括所有模块的单个“ opencv_world”二进制文件(一个共享库或静态库,取决于BUILD_SHARED_LIBS),而不是一个单独的二进制文件的集合,每个模块一个二进制文件。
    再次按配置按钮,并确保没有错误报告。 在这种情况下,您可以通过按“生成”按钮告诉CMake创建项目文件。 转到构建目录并打开创建的OpenCV解决方案。 根据您选择的上述选项的多少,解决方案可能包含很多项目,因此容忍IDE的启动。 现在,您需要构建Release和Debug二进制文件。 在为其中一个构建之后,请使用IDE上的下拉菜单将其更改为另一个。

    最后,您可以观察bin目录中构建的二进制文件:

    对于文档,您需要在doxygen项目上为HTML文档明确发出构建命令。 它将调用Doxygen进行所有艰苦的工作。 您可以在build / doc / doxygen / html中找到生成的文档。

要将标头和二进制文件(将在自己的项目中使用)收集到一个单独的目录中(类似于预构建的二进制文件的方式),需要显式构建Install项目。

这将在Build内部创建一个Install目录,将所有已构建的二进制文件收集到一个位置。 仅在构建发行版和调试版之后才使用此功能。

要测试您的构建,只需进入Build / bin / Debug或Build / bin / Release目录并启动几个应用程序,例如contours.exe。 如果它们运行,您就完成了。 否则,肯定会出现严重错误。 在这种情况下,您应该在我们的问答论坛上与我们联系。 如果一切正常,则contours.exe输出应类似于以下图像(如果使用Qt支持构建):

注意
如果使用GPU模块(CUDA库),请确保还升级到GPU的最新驱动程序。 错误消息中包含(或找不到)nvcuda.dll中的无效条目,主要是由旧的视频卡驱动程序引起的。 要测试GPU(如果已构建),请运行performance_gpu.exe示例应用程序。

设置OpenCV环境变量并将其添加到系统路径
首先,我们设置一个环境变量以简化我们的工作。 这将保存我们在项目中使用的OpenCV库的build目录。 启动命令窗口并输入:
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc11(建议用于Visual Studio 2012-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc11(建议用于Visual Studio 2012-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc12(建议用于Visual Studio 2013-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc12(建议用于Visual Studio 2013-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc14(建议用于Visual Studio 2015-64位Windows)

在此目录中,可以找到(提取或构建的)OpenCV二进制文件。您可以使用其他平台(例如x64而不是x86)或编译器类型,因此请替换适当的值。在其中,您应该有两个名为lib和bin的文件夹。如果要使计算机设置明智,而不是用户明智,则应添加-m。

如果您构建了静态库,那么您就完成了。否则,您需要将bin文件夹路径添加到系统路径。这是因为您将以*“动态链接库” *(也称为DLL)的形式使用OpenCV库。这些内部存储着OpenCV库包含的所有算法和信息。操作系统将仅在运行时按需加载它们。但是,为此,操作系统需要知道它们的位置。系统PATH包含可以找到DLL的文件夹列表。将OpenCV库路径添加到此路径,然后操作系统将知道他是否需要OpenCV二进制文件在哪里寻找。否则,您将需要在操作系统的应用程序可执行文件(exe)旁边复制使用的DLL,以找到它,如果您在许多项目上工作,这将是非常不愉快的。为此,请再次启动PathEditor并添加以下新条目(在应用程序中单击鼠标右键以显示菜单):
%OPENCV_DIR%\bin


将其保存到注册表中,即可完成操作。 如果您更改了构建目录的位置,或者想尝试使用其他构建版本的应用程序,那么您要做的就是通过命令窗口中的setx命令更新OPENCV_DIR变量。

现在,您可以继续阅读“ Microsoft Visual Studio”部分中的“如何使用OpenCV构建应用程序”教程。 在那里,您将找到如何在Microsoft Visual Studio IDE的帮助下在自己的项目中使用OpenCV库。

在windows上安装OpenCV相关推荐

  1. windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

  2. 在Windows中安装OpenCV

    在Windows中安装OpenCV 在Windows中安装OpenCV 使用预建库进行安装 使用git-bash(版本> = 2.14.1)和cmake(版本> = 3.9.1)进行安装 ...

  3. OpenCV Java入门二 在Windows10系统上安装OpenCV

    准备好痛苦了没有? 痛苦之后是欢乐.因为必竟大多人还是用的WINDOWS来开发的居多.因此如果OpenCV无法在Win10下安装,一样不能起到普及作用. 而Windows下的编译安装OpenCV也是最 ...

  4. rk1808交叉编译opencv_关于在RK3288上安装Opencv的方法

    本帖最后由 暴走的阿Sai 于 2017-7-7 10:30 编辑 Opencv是一个开源的计算机视觉库,可以给开发人员提供更便捷的方式设计复杂的视觉应用,Opencv主要是用c和c++编写,可以运行 ...

  5. 安装oracle后在cmd,在WINDOWS上安装ORACLE RAC的注意事项

    在WINDOWS上安装ORACLE RAC的注意事项 1.检查防火墙和杀毒软件 如果不关掉防火墙,在安装CRS时,在"Oracle Clusterware Configuration Ass ...

  6. Windows上安装AD域控制器注意事项及常见问题处理办法

    以Windows Server 2008 R2 SP1 x64为例,在ECS Windows上安装域控制器时,要注意的事项和常见问题说明如下: 1. 要点和注意事项: 所有域节点的如下服务必须启动,推 ...

  7. Git学习系列之Windows上安装Git之后的一些配置(图文详解)

    不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...

  8. python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...

    最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...

  9. opencv 安装_如何在 CentOS 8 上安装 OpenCV

    本文最先发表在: 如何在 CentOS 8 上安装 OpenCV​www.itcoder.tech OpenCV(Open Source Computer Vision Library) 是一个开源的 ...

最新文章

  1. 中国顶尖的技术社区们在一个群里,会聊什么…
  2. 【错误记录】jcenter 移除问题 ( Please remove usages of `jcenter()` Maven repository from your build scripts )
  3. 【arduino】arduino代码运行时间测试函数,代码性能运行时间测试方法
  4. VMWare共享文件
  5. Vue2 的学习经历 初识
  6. openresty—实现缓存前移
  7. centos打开mysql数据库_Linux、Centos下操作mysql数据库开启远程访问
  8. 7-35 部落 (10 分)
  9. HttpHelper使用记录
  10. 5号字对应的数字字号_写好公文的几个数字口诀
  11. 程序转制作人——游戏设计课程导论
  12. 初探HTML5.x新特性《dialog》标签
  13. 国家地理相关资源数据库
  14. linux环境下安装curl,Linux环境下curl安装和移植
  15. 第三方支付接口怎么测试
  16. Java转换坐标系,GPS(WGS84)、百度(BD-09)、高德(GCJ-02)互转,一文搞懂坐标系、坐标转换
  17. C++ #pragma once用法总结
  18. 无法和 SFTP 服务器建立 FTP 连接,请选择合适的协议。
  19. 普通人如何使用ChatGPT接单挣钱-第一弹
  20. 全球十大航天发射基地

热门文章

  1. Lucene全文检索过程
  2. [js] 处理字符串换行造成的json解析失败
  3. 网络协议:TCP/IP、SOCKET、HTTP
  4. fpga中wire和reg的区别
  5. javascript setTimeout 和 setInterval 区别
  6. Activemq源码、编译、导入idea、源码调试总结
  7. mongoose --- createUser
  8. HEXA机器人荣获CES Asia2018 创新奖
  9. (原创)JS点击事件——Uncaught TypeError: Cannot set property 'onclick' of null
  10. Python之路【第十七篇】:装饰器