《计算机视觉算法:基于OpenCV的计算机应用开发》 —2.3 OpenCV的下载、编译和安装

举报
华章计算机 发表于 2020/02/15 13:01:54 2020/02/15
【摘要】 本节书摘来自华章计算机《计算机视觉算法:基于OpenCV的计算机应用开发》 一书中第2章,第2.3节,作者是[伊朗] 阿明·艾哈迈迪·塔兹赫孔迪(Amin Ahmadi Tazehkandi) ,陈靖 杨欣 译。

2.3 OpenCV的下载、编译和安装

OpenCV在大多数情况下,没有一个随时可用的预编译版本(也有一些例外情况,我们将在本节中介绍),并且和大部分开源库一样,它需要从源代码中配置和构建。在本节中,我们将快速描述如何在计算机中构建(和安装)OpenCV。但前提是,你需要在计算机上获得OpenCV的源代码。你可以使用下面的链接以获取源代码:https://opencv.org/releases.html。在此网页,你可以找到OpenCV发布的版本。目前最新的版本,即本书写作时所使用的版本号是3.4.1,所以你应该下载这一版本,如果有更新的版本,就下载使用更新的版本。

在下面的截图中,可以看到OpenCV发布的每一个版本,都有各种不同的可下载条目,例如Win,iOS和Android下载包,不过你应该下载源代码并基于自己的工作平台环境构建OpenCV。

 image.png

在默认情况下,OpenCV 3.4.1提供了Android、iOS以及64位MSVC14和MSVC15(与Microsoft Visual C++ 2015和Microsoft Visual C++ 2017相同)库的预编译版本。因此,如果你想在这些平台中创建应用程序,你可以下载相应的包,并跳过OpenCV的构建过程。

从源代码构建OpenCV,你的计算机中需要以下工具:

  • 支持C++11标准的C/C++编译器:在Windows操作系统中,这意味着任何最近版本的Microsoft Visual C++编译器,例如MSVC15(2017)或者MSVC14(2015)。在Linux 操作系统中,你可以使用最新的GCC。而在macOS中,你可以使用为Xcode准备的命令行工具,Xcode包含了所有需要的工具。

  • CMake:尽管也可以使用CMake3.1或更高版本,请确保你使用的是最新版本的CMake,比如3.10,以便和最新版本的OpenCV相匹配。

  • Python:如果你打算使用Python编程语言,那么这个非常重要。

OpenCV包含了大量的工具和库,并且用各种不同的方法定制化构建OpenCV是可行的。比如,你可以使用Qt框架、英特尔线程构建模块(Threading Building Blocks,TBB)、英特尔集成性能基元(Integrated Performance Primitives,IPP)及其他第三方库进一步增强和定制OpenCV编译。不过我们要使用带有默认配置和工具集的OpenCV,所以我们忽略了前面需求列表中提到过的第三方工具。

在满足我们前面提到的这些条件后,你可以根据自己的操作系统和所需平台,通过使用CMake和相应的编译器来配置和编译OpenCV。

下面的截图展示了CMake工具和默认配置。通常情况下,你不需要改变任何配置,除非你希望使用自己的配置定制化编译OpenCV:

 image.png

第一次打开CMake时需要注意,你需要设置源码文件夹和build文件夹,这从前面的截图可以看到,“Where is the sourec code:”和“Where to build the binaries:”文件夹地址是分别设置的。单击Configure按钮后,你需要设置一个生成器并应用这些配置,然后单击Generate按钮。

生成结束后,你可以简单地在终端或者命令提示符下切换到CMake输出文件夹,并执行下面的命令:

 image.png

请注意,运行每条命令可能需要花费一些时间,取决于你计算机的速度和配置。同时需要注意的是,根据你想使用的工具集的不同,make命令也会有所不同。比如,如果你使用的是Microsoft Visual Studio,那么你需要用nmake代替make;如果你使用的是MinGW,那么你需要用mingw32-make代替make。

在编译结束后,就可以开始使用OpenCV了。只需要配置好C++工程,使OpenCV库和安装文件能够使用。

在Windows操作系统中,需要确保构建的应用程序可以访问OpenCV DLL文件。可以通过复制所有需要的DLL文件到创建的应用程序的文件夹或者在PATH环境变量中添加OpenCV的DLL文件夹路径。在运行程序前请确保给予足够的重视,否则即使它们能够生成成功,并且在编译时没有任何错误,但在执行时可能会崩溃。

如果你使用Python去构建计算机视觉应用程序,那就非常简单了,因为你可以使用pip(包管理器)为Python安装OpenCV,使用命令如下:

 image.png

这将为你自动获取最新版本的OpenCV及其所有依赖包(比如numpy),或者,如果你已经安装了OpenCV,那么你可以使用以下命令以便更新到最新的版本:

 image.png

不言而喻,为了使这些命令行可以工作,你需要确保因特网连接正常。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。