OpenCV项目开发实战(原书第2版)
上QQ阅读APP看书,第一时间看更新

第1章 任务准备

“工程师Q:先生,我多年来一直在说,我们的专用设备太陈旧了。现在,计算机分析展现出一种全新的方法:微型化。”

——《女王密使》(1969)

詹姆士·邦德不是一个普通的人。他乘潜水艇巡游,系着一条火箭皮带。他滑得实在是太好了!他总是有最新的东西,哪怕身陷窘境也毫无畏惧,这让工程师Q非常沮丧。

作为21世纪10年代的软件开发人员,我们目睹了各种新平台的爆炸式发展。在普通家庭应用中,我们可能会发现Windows、Mac、iOS和Android设备的身影。父母在用不同的平台办公。孩子有三个或五个游戏机(如果算上移动版本的话)。连刚学走路的幼儿也有跳蛙学习机。智能眼镜越来越便宜。

我们必须敢于尝试新的平台,并考虑用新方法来整合这些平台。毕竟,我们的用户是这样做的。

本书包含多平台开发,提供了一些奇异怪诞而又非常棒的应用程序,这些应用程序可以在意想不到的设备上进行部署。本书用到了各种计算机传感器,尤其是计算机视觉,这将我们身边那些普通的、混杂凌乱的设备赋予了新的生命。

在情报员007开始疯狂使用这些小工具之前,他有义务听一下Q的汇报。本章将扮演Q的角色,谈谈安装。

在本章结束时,你将获得用Python开发适用于Windows、Mac或Linux的OpenCV应用程序,以及用Java开发适用于Android的OpenCV应用程序的全部工具。你还将为成为树莓派单板计算机的新用户引以为傲(这个附加硬件是可选的)。你还将了解一些有关Unity(这是一个可以集成到OpenCV中的游戏引擎)的内容。具体来说,本章将介绍以下几种开发环境的安装方法:

·在Windows上安装Python和OpenCV。这包括可以选择用CMake和Visual Studio从源代码中配置和编译OpenCV。

·在Mac上安装Python和OpenCV。这包括使用MacPorts或Homebrew作为一个包管理器。

·在Debian Jessie上或在诸如Raspbian、Ubuntu或Linux Mint之类的其衍生平台上安装Python和OpenCV。这包括高级包管理器(Advanced Package Tool,APT)的使用。另外,还包括用CMake和GCC从源代码中配置和编译OpenCV。

·在Fedora上或在其中一个衍生平台(如红帽企业Linux(Rad Hat Enterprise Linux,RHEL)或CentOS)上安装Python和OpenCV。这包括yum包管理器的使用。

·在openSUSE上安装Python和OpenCV。这包括yum包管理器的使用。

·在Windows、Mac或Linux上安装Android Studio和OpenCV的Android库。

·在Windows或Mac上安装Unity和OpenCV。

·树莓派的安装。

如果你发现自己对本章的内容有一丝胆怯的话,那么请你放心,并不是所有的工具都是必需的,也没有一个项目会同时用到所有这些工具。尽管工程师Q和我都期待一次设置多个工具的重大事件,可是你却可以略读这一章,仅在我们的项目中需要某个工具时再回来逐个地了解这些内容。