新書推薦:
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:HK$
137.8
《
养育女孩 : 官方升级版
》
售價:HK$
51.8
《
跨界:蒂利希思想研究
》
售價:HK$
109.8
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:HK$
45.9
《
大模型启示录
》
售價:HK$
115.0
《
东法西渐:19世纪前西方对中国法的记述与评价
》
售價:HK$
207.0
《
养育男孩:官方升级版
》
售價:HK$
51.8
《
小原流花道技法教程
》
售價:HK$
112.7
|
內容簡介: |
这本书将通过一种通用的、明确的、可应用的方法来结合Arduino和计算机视觉的能力。书中的实践和方法可用于任何相关的问题和平台。本书想实现的终目标是让你可以通过一种通用方法使用各种组件来解决现实生活中任意类型的视觉问题。
|
關於作者: |
作者简介About the Authors?zen ?zkaya是一名嵌入式系统工程师,在各种各样的计算机视觉应用和嵌入式系统的设计、开发和验证方面有超过6年的经验。他非常相信分享知识的力量并持续地在计算机视觉领域中实践。从业6年之后,现在他是西门子公司的一名高级开发工程师,参与开发和研究工业控制设备及工业通信处理器。他还对西门子公司的软件质量保证项目做了一些贡献。到目前为止,他共申请了8个专利,他的所有应用都在进行中。他用了3年时间从伊斯坦布尔科技大学(ITU)拿到了电子工程的学士学位,并得到了高等荣誉证书。他拥有伊斯坦布尔科技大学的电子工程硕士学位,并且正在攻读伊斯坦布尔科技大学的电子工程博士学位。他在学术研究期间曾在不同的实验室工作过,比如说医疗系统设计实验室、控制和航空电子设备实验室、机器人实验室、模式识别和信号处理实验室、工业自动化实验室,后是嵌入式系统实验室。除了做学术研究以外,他现在还是伊斯坦布尔科技大学嵌入式系统实验室的一名导师。可以通过电子邮件ozenozkaya@gmail.com或者contact@ozenozkaya.com直接与?zen联系。如果你想了解有关他的更多信息,可访问他的网站http:www.ozenozkaya.com。首先我要感谢我的父母K?yas和Ferah,是他们不停的努力和坚持,才有了我今天的发展。我的导师、S. Berna ?rs Yalcin副教授,总是支持我并帮助我完成了很多事情,所以我想在这里对她表示感谢。我还要感谢我所有的朋友,可惜名单太长没有办法在这里一一列举。我还要特别感谢Nilay Tfek,在我写作本书的过程中,她鼎力支持我。她真诚地鼓励我接受这一挑战并克服它。Giray Y?ll?k??专注于嵌入式系统、计算机视觉和机器人技术。他对这些领域的学术和工业方面都有贡献。他喜欢分享他的知识和经验。他认为信息共享才是让生活前进的真正方式。Giray目前是Ko?大学设计实验室的一名高级研究工程师,他负责协调项目的技术过程。此外,他还需要管理技术研究工程师。他正在申请6个专利。他拥有Ko?大学物理学的学士学位。现在,他在伊斯坦布尔科技大学(ITU)为有关卫星通信和遥感的硕士毕业论文而努力。有关他的更多信息可以访问他的网站http:www.girayyillikci.com,也可以通过gyillikci@gmail.com或者gyillikci@ku.edu.tr与他联系。首先,我要感谢?zen ?zkaya邀请我合著本书。我还要向给我们提供支持、意见和帮助的Packt员工们表示感谢。我要感谢Seyed Mousavi,因为他给我们提供了很多有价值的评论,还要感谢Shweta Pant成功的内容开发管理。感谢Cetin Seren对我职业方面的指点。他的真知灼见让我在自己的领域中做到好。我要感谢Sreyya Ciliv,他给我们提供了位于Turkcell技术应用中心的一个充满智慧和令人振奋的工作环境,在那里我们学到了很多知识。我还要感谢Tugce Pakakar和她的朋友们,她们让我非常享受写作本书的过程。后,我要感谢我的母亲、父亲、兄弟,他们在我的生活中支持、鼓励、启迪我。我要对他们表达我诚挚的感谢。
|
目錄:
|
目 录译者序作者简介前言第1章 计算机视觉系统综述11.1 计算机视觉系统介绍11.2 解决计算机视觉问题21.2.1 数据采集31.2.2 预处理41.2.3 图像处理的特征提取51.2.4 后处理和后置滤波71.2.5 识别或检测71.2.6 在现实世界中行动81.2.7 连接子模块81.3 总结10第2章 OpenCV的基础与安装112.1 OpenCV的基础112.2 OpenCV的安装122.2.1 在Linux上安装OpenCV122.2.2 在Mac OS上安装OpenCV172.2.3 在Windows上安装OpenCV182.2.4 在iOS上安装OpenCV202.2.5 在Android上安装OpenCV212.3 总结24第3章 用OpenCV和Arduino进行数据采集253.1 图像和视频采集253.1.1 相机选择253.1.2 图像采集293.2 传感器数据采集413.2.1 设置Arduino环境413.2.2 传感器基础423.2.3 从温度传感器中读取数据443.3 总结47第4章 用OpenCV进行数据过滤484.1 开始过滤484.2 空间域滤波494.2.1 平滑504.2.2 锐化514.3 颜色空间转换514.3.1 灰度化524.3.2 二值化534.4 形态学滤波器554.4.1 腐蚀和膨胀554.4.2 开运算和闭运算564.5 梯度和边缘检测584.5.1 Canny边缘检测器584.5.2 LoG滤波器594.5.3 Sobel614.6 自定义滤波器634.7 直方图均衡化654.8 本章的实践项目664.9 总结72第5章 用OpenCV进行视觉数据处理735.1 提取特征735.1.1 使用基本的统计信息745.1.2 使用颜色特征785.1.3 使用模板进行特征匹配785.1.4 使用轮廓特征795.1.5 使用凸包805.1.6 使用矩815.1.7 使用Hough变换825.1.8 使用角点835.1.9 使用尺度不变特征变换845.1.10 使用加速鲁棒特征855.1.11 使用ORB865.1.12 使用blob分析865.2 总结87第6章 用OpenCV进行识别886.1 构建一个可以思考的应用程序886.1.1 模板匹配896.1.2 特征匹配916.1.3 基于快速近似最近邻搜索库的匹配946.1.4 使用级联分类器956.1.5 使用支持向量机976.2 总结98第7章 用OpenCV与Arduino进行通信1007.1 与Arduino进行通信1007.1.1 有线通信1027.1.2 无线通信1117.2 用Java进行通信1157.3 用C进行通信1207.4 总结121第8章 将Arduino用于真实世界1228.1 与电动机的连接1228.1.1 驱动直流电动机1238.1.2 驱动步进电动机1258.1.3 驱动伺服电动机1288.2 使用显示器1308.2.1 使用液晶显示器1318.2.2 使用薄膜晶体管显示器1338.3 总结137第9章 建造一个点击行走机器人1389.1 系统总览1389.2 建造一个机器人1419.2.1 构建力学部分1429.2.2 构建电子电路部分1439.2.3 构建机器人控制器和通信系统1469.3 构建视觉应用程序1549.4 总结163
|
內容試閱:
|
前 言Preface特别是对于现代机器而言,计算机视觉是环境感知发展的下一个阶段。许多现代设备尝试使用有限的资源来模仿人类的感知能力。此外,大多数此类仿制品其实是存在不足的,因为通常情况下它们不能直接模拟人类的感知能力,尤其是在视觉方面。即使传统传感器的种类有很多,它们仍然无法表现出人类视觉系统的强大,这是人类最复杂的感知功能之一。因此,我们需要一定的视觉信息,使我们的电子系统更加智能化。这就是计算机视觉出现的原因。相机可以被视为终极视觉传感器,它非常接近于人类的视觉感知系统。但是问题在于,如果使用相机作为视觉传感器,那么操作会非常复杂和困难。本书的目的是通过把一个复杂的问题划分为基本的、可实现的子步骤从而让计算机视觉的任务变得简单。这种方法最好的地方在于我们能把实际生活中的应用也变得很容易!当我们处理现实生活中的应用时,毫无疑问应该有一种方法来与现实生活进行交互。嵌入式系统正好用来表示这些物理交互。Arduino是最流行的嵌入式系统平台之一,它通过海量的社区支持和学习材料为原型开发提供了一种便捷的方法。同时Arduino的关键属性也很棒,稍后将进行更详细的讨论,这些使得Arduino成为视觉系统与现实生活进行交互的最完美的候选。Arduino在计算机视觉系统中扮演的角色是非常清楚的。在大多数情况下,视觉信息会与来自各种传统的传感器的数据相结合,这些传统的传感器包括温度传感器、压力传感器和加速器等。此外,我们需要一个很好的工具来在视觉处理过程之后采取物理行动,比如驱动电动机和开灯。因此,Arduino在从环境中收集数据并采取行动的过程中非常有用,特别是因为它有大量开发好的库以及社区共享,使得原型开发非常迅速。开源计算机视觉库(OpenCV)是一个包含大量优化算法的优秀开源库。OpenCV最重要的优势之一是它可以支持多个平台,它能够在Windows、Linux、Mac OS甚至是Android和iOS平台上工作。更重要的是它是一个成熟的库,在写作本书时最新版本为3.0(和2.4.11)。出于这些原因,本书中所有的计算机视觉任务都将采用OpenCV来实现!本书将通过一种通用的、明确的、可应用的方式来融合Arduino和计算机视觉的能力。书中的实践和方法可用于任何相关的问题和平台。本书想实现的最终目标是让你可以通过一种通用方法使用各种组件来解决现实生活中任意类型的视觉问题。在每一章中,你将会找到有关主题在现实生活中实际应用的例子。为了学以致用,我们会一步一步地建立一个视觉机器人。你会发现尽管问题的背景有很大的不同,解决问题的方法都是一样的并且很简单!本书的主要内容第1章通过介绍一种对现实生活视觉问题有效的解决办法来解释设计模块和体系。第2章讲述OpenCV库的基本原理以及如何在不同的操作系统平台安装和测试OpenCV库。第3章通过实用的技巧和现实生活的例子来展示从环境中收集数据的有效方法。第4章介绍OpenCV库中的内置滤波器以及如何根据应用程序的上下文来选择和实现这些滤波器。第5章探索如何从视觉数据中提取有意义的信息以及如何让这些提取出来的数据为识别系统做好准备。第6章通过实践的方式探索人工智能的方法,讨论在一个给定场景中检测和识别物体的方法。第7章揭示Arduino的通信能力以及在OpenCV的环境中连接Arduino的综合性最佳实践。第8章演示如何通过物理行为优雅地与现实世界进行交互。第9章综合前面所学的所有知识来设计和开发一个全功能一体化的机器人。该章还将介绍所提出的方法如何在问题独立的情况下取得成功。阅读本书前的准备本书的目的是教会你如何开发可以与现实生活进行交互且启用了计算机视觉的系统。书中所有必需的软件都是免费的。当然,根据需要,你也可以使用收费的软件来开发应用程序。计算机视觉应用程序是使用OpenCV开发的。Eclipse、Xcode、Visual Studio作为集成开发环境使用。应用程序的嵌入式系统部分通过使用Arduino Uno R3和Arduino的集成编辑器来开发。有几章中的应用程序需要用到电子元器件,比如传感器或通信模块。这些模块都很便宜并且很容易找到。应用程序背后的思想是通用的,可以适用于各种相关领域。本书的目标读者本书主要面向想要在项目中使用计算机视觉来创造更多智能系统的读者。特别是想学习如何使用Arduino进行计算机视觉编程的用户和对此有兴趣的爱好者。机器人学是兴趣电子学中最流行的领域之一。我们可以简单地说只要掌握了本书的内容,就完全有可能建立一个可以看到环境并进行推理的机器人。同一方案适用于消费类电子学和兴趣电子学的所有其他领域。任何对这一方案感到兴奋的人都是本书的目标读者。本书假设读者熟悉Arduino的基本知识。对于计算机视觉编程方面的知识则没有什么要求。下载示例代码和彩色图片你可以从华章网站(http:www.hzbook.com)下载本书的示例代码和彩色图片。
|
|