人工智能+机器人入门与实战:用树莓派+python+OpenCV制作计算机视觉机器人

人工智能+机器人入门与实战:用树莓派+python+OpenCV制作计算机视觉机器人

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

创客教育书籍,用Pyhton编程和机器人实战体验人工智能概念。

内容简介

本书介绍在树莓派硬件上使用Python语言,借助OpenCV库编程,来实现具有机器视觉功能(识别和抓取特定颜色物体、识别人脸、识别特定人脸、进行面部跟踪)的智能机器人。

作者简介

作者陈宇航,浙江大学物理学博士。擅长程序算法设计,了解人工智能前沿理念。主持开发过多种智能硬件套件及其配套课程。致力于青少年科技教育,帮助学生更好地迎接人工智能时代的挑战。

章节目录

内容提要

推荐序

前言

第1章 走近人工智能

1.1 初识人工智能

1.1.1 人工智能是什么

1.1.2 人工智能的发展历程

1.1.3 人工智能的应用现状

1.2 机器人世界

1.2.1 机器人的发展历史

1.2.2 什么是智能机器人

1.2.3 常见的智能机器人控制核心

第2章 认识树莓派

2.1 树莓派是什么

2.2 树莓派3B+主控板简介

2.3 树莓派的连接与开机

2.4 Linux操作系统简介

第3章 Python编程基础

3.1 什么是编程语言

3.2 认识Python语言

3.3 在树莓派中使用Python编程

3.3.1 交互式编程

3.3.2 使用算术运算符进行运算

3.3.3 用Geany编辑器编写Python程序

3.4 Python中的变量

3.4.1 变量的赋值

3.4.2 Python的数据类型

3.5 if条件结构

3.5.1 条件的真与假

3.5.2 比较运算符

3.5.3 if条件结构的格式与缩进

3.6 while循环结构

3.7 Python中的函数

3.7.1 自定义一个函数

3.7.2 给Python程序加上注释

第4章 Python编程与树莓派硬件控制

4.1 树莓派的GPIO接口

4.2 LED模块与按钮模块的连接

4.3 点亮一盏小灯

4.3.1 导入Python扩展包

4.3.2 LED显示彩色的原理

4.3.3 对输入/输出设备的设定

4.3.4 让小灯闪烁起来

4.4 用按钮控制灯的状态

4.4.1 按钮状态的读取与判断

4.4.2 两个按钮的控制与逻辑运算符

4.5 做一个抢答器吧

4.5.1 延时点亮小灯

4.5.2 判断获胜者与break关键词

4.5.3 Python中的随机数

第5章 机器视觉入门

5.1 机器视觉与图像识别

5.1.1 机器是怎样“看”的

5.1.2 机器视觉技术的常见应用

5.2 认识OpenCV

5.2.1 OpenCV简介

5.2.2 视频的帧与分辨率

5.2.3 用树莓派摄像头调取图像

5.3 用OpenCV识别颜色

5.3.1 HSV颜色空间

5.3.2 图像的二值化

5.3.3 找到轮廓的位置

5.4 做一个魔法棒吧

5.4.1 用OpenCV绘制小圆点

5.4.2 Python中的列表与元组

5.4.3 for循环遍历结构

5.4.4 按键值与键盘控制

第6章 机械臂智能分拣任务

6.1 认识机械臂

6.1.1 应用广泛的机械臂

6.1.2 三轴机械臂结构分析

6.2 程序控制机械臂的运动

6.2.1 认识舵机

6.2.2 舵机的线路连接

6.2.3 舵机控制程序

6.2.4 机械臂头部的执行装置——电控吸盘

6.2.5 用示教方式完成物料分拣

6.3 用树莓派控制机械臂

6.3.1 硬件连接

6.3.2 程序编写

6.4 用摄像头找到木块位置

6.4.1 安装摄像头

6.4.2 调用摄像头的图像并识别木块位置

6.5 使吸盘位于物体正上方

6.5.1 当物体位于吸盘正下方时,它的坐标是多少

6.5.2 控制1号舵机左右运动,使物体x坐标为320

6.5.3 控制机械臂等高运动,使物体y坐标为150

6.6 抓取和放置物体

6.7 扩展任务

第7章 制作人脸追踪机器人

7.1 人脸识别知多少

7.2 使用肤色检测找到人脸

7.3 使用哈尔特征检测找到人脸

7.4 人脸追踪机器人初制

7.5 什么是机器学习

7.5.2 机器学习的分类

7.6 认识人工神经网络

7.7 识别特定的人脸

7.8 扩展任务——属于你的机器人

7.8.1 让机器人认识你

7.8.2 让机器人发出声音

附录 “试一试”环节参考程序

3.4.2 仿照本节示例中的加法计算器,编写减法、乘法和除法的计算器。

3.5 将3.4节练习中的计算器改写为可以根据输入的运算符自主选择运算方式的四则运算计算器。

3.6 斐波那契数列指的是形如 1,1,2,3,5,8,13……的数列,其第一位和第二位均为 1,其后每一位等于前两位之和。试用 while 循环计算斐波那契数列中任一位置的数字。

3.7.1 将斐波那契数列的运算封装为一个函数,通过调用这个函数获取数列中指定位置的值。

4.3.3 利用 while 循环结构,建立一个控制 sleep 时间的变量,试着让小灯越闪越亮。

4.4 用至少两种方法实现两个按钮按下一个则点亮小灯,都不按则熄灭小灯。

4.5 制作一个随机时间亮灯、可以重复运行的抢答器。

4.5 抢答器游戏显然有作弊的方法:在灯亮前就按住按钮。试试通过改写程序来揪出作弊者。

5.2.3 连接树莓派摄像头,用 OpenCV 预览实时视频。

5.3.3 找一个颜色均匀的物体,用 OpenCV 输出这个物体在摄像头中的中心位置和大小。 请根据目标物体的颜色调整 inrange 函数的参数值,注意尽量排除背景中颜色相近的其他物体。

5.4.1 制作一个“魔法棒”,确定其对应的 HSV 颜色值区间并通过 OpenCV找到所在的位置,在屏幕上绘制出与其颜色类似的小圆点。

5.4.3 利用列表与 for 循环遍历,让屏幕上的图像显示魔法棒经过的所有点,实现基本的程序功能。

5.4.3 制作一个可以按键控制开始、停止、清除绘制图案的魔法棒。

6.3.2 试使用 Python 程序通过树莓派控制机械臂 M1~M3 舵机运动。

6.4.2 试选择一种颜色的物体,将它放置在机械臂摄像头下方,用颜色识别程序输出物体在摄像头中的坐标。

6.5.2 请参考本节中的示例程序,根据图像中物体的位置控制M1舵机运动。注意使物体在摄像头中的 x 坐标接近 320,并使物体离目标位置越远时机械臂运动越快,反之越慢。

5.4.3 参考本节中的示例程序,使你的机械臂能根据下方物体的位置自动调整至物体上方。

6.6 在机械臂调整到物体上方后,跳出循环并加入抓取与放置物体的程序,完成可抓取特定颜色物体放到指定位置的机械臂。

7.2 尝试编写程序,使用肤色检测找到实时图像中的人脸,并标注出来。如果识别不准确,请调整程序中的H值或改变摄像头前方的图像背景和光照强度。

7.3 尝试编写程序使用哈尔特征检测找到实时图像中的人脸并标注出来。如果识别不准确,请调整现场的光亮度或改变detectMultiScale函数的参数。

7.7 本节的示例程序中只采集了一张人脸作为已知数据,也只在实时图像中识别最大的一张人脸。试改写程序,收集更多照片组成更大的已知人脸数据库,并在实时图像中识别所有人脸并用不同颜色的框标识出来。

7.8.1 试结合追踪与识别人脸的程序,完成对特定人脸的识别与追踪程序。请在追踪程序的段落中加入上述重置到识别阶段的判断程序。

7.8.2 寻找一些机器人声音的音频文件,并改写追踪人脸的机器人程序,让它在识别到 特定人脸或丢失人脸目标等特殊时刻发出对应的声音。

人工智能+机器人入门与实战:用树莓派+python+OpenCV制作计算机视觉机器人是2020年由人民邮电出版社出版,作者陈宇航。

得书感谢您对《人工智能+机器人入门与实战:用树莓派+python+OpenCV制作计算机视觉机器人》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
用插画讲故事——Procreate插画设计与实战 电子书
作者在书中详细介绍了故事感插画的创意构思、绘画技法以及角色塑造、商业插画等方面的内容,通过实战案例的方式讲解了不同角色、场景及的绘画技巧。
和机器人李一起探月球 电子书
本书以机器人李老师带着嫦小娥和猪小戒两名同学在星球课堂共同学习的故事为主线,以漫画的形式生动地把月球探测相关的工程和科学知识介绍给读者。牛顿、哈雷、伽利略、齐奥尔科夫斯基、戈达德等科学家也悉数登场,展现了人类探索宇宙奥秘的漫漫征途,以及永不言败的科学探索精神。
爱上编程:给孩子的计算机入门书 电子书
IT老爸写给“网络原住民”的“居民手册”。
音乐制作自学手册:Cubase10操作入门教程 电子书
本书带你轻松、快速、深度地来掌握Cubase所有的技术操作。
计算思维与计算机导论 电子书
本书以计算思维为主线,理论与实际接合,从计算思维的角度介绍计算机体系结构、软件硬件系统、问题求解、计算机网络、信息安全、数据库技术、办公软件的高级应用等内容。培养学生的计算思维能力、自主学习能力、创新能力,使得学生能够利用计算思维的方法解决实际问题,进行创新创业的活动。配有针对性强的实验,可操作性强,习题与教材结合紧密,文字通俗易懂、可读性强。