封面
版权信息
前言
第1章 智能硬件与机器视觉
1.1 机器视觉在智能硬件领域的应用
1.1.1 机器视觉在智慧城市的应用
1.1.2 机器视觉与5G的协同效应
1.2 智能硬件上的机器视觉技术方案选型
1.2.1 方案A:树莓派
1.2.2 方案B:BeagleBoard
1.2.3 方案C:NVIDIA Jetson
1.2.4 方案D:Google Coral Dev Board+Edge TPU
1.3 本章小结
第2章 树莓派软硬件准备
2.1 刷写系统
2.2 硬件连接
2.3 Linux系统的基本操作
2.3.1 Linux常用命令
2.3.2 Vim编辑器的使用
2.4 远程连接树莓派
2.4.1 使用SSH连接树莓派
2.4.2 使用VNC连接树莓派
2.5 使用相机模块拍摄一张照片
2.6 本章小结
第3章 安装OpenCV
3.1 使用pip安装OpenCV
3.1.1 在Ubuntu上使用pip安装OpenCV
3.1.2 在macOS上使用pip安装OpenCV
3.1.3 在树莓派上使用pip安装OpenCV
3.1.4 注意事项
3.2 树莓派源码编译安装OpenCV 4
3.2.1 扩展TF卡并安装依赖
3.2.2 下载OpenCV 4
3.2.3 为OpenCV 4搭建基于Python 3的虚拟环境
3.2.4 构建和编译OpenCV 4
3.2.5 测试OpenCV 4
3.2.6 可能遇到的问题
3.3 本章小结
第4章 通过案例手把手入门OpenCV
4.1 开始前的准备
4.1.1 环境准备
4.1.2 项目代码准备
4.2 OpenCV图像简单处理
4.2.1 加载和显示图像
4.2.2 访问单个像素
4.2.3 数组切片和裁剪
4.2.4 调整图像大小
4.2.5 旋转图像
4.2.6 平滑图像
4.2.7 在图像上绘图
4.2.8 运行第一个OpenCV教程的Python脚本
4.3 OpenCV图像对象计数
4.3.1 目标对象计数
4.3.2 将图像转换为灰阶
4.3.3 边缘检测
4.3.4 阈值处理
4.3.5 检测和绘制轮廓
4.3.6 腐蚀和膨胀
4.3.7 蒙版和按位操作
4.3.8 运行第二个OpenCV教程的Python脚本
4.4 本章小结
第5章 使用Python拍摄照片、视频
5.1 安装picamera环境
5.1.1 安装Raspbian系统
5.1.2 安装其他系统
5.1.3 升级相机固件
5.1.4 安装树莓派摄像头模组
5.1.5 控制V1版的LED灯
5.2 使用摄像头拍摄照片
5.2.1 捕获照片并存为文件
5.2.2 捕获照片并存为流
5.2.3 捕获照片并存为PIL图像
5.2.4 捕获调整了大小的图像
5.2.5 快拍和连拍的技巧
5.2.6 捕获延时摄影序列
5.2.7 弱光下拍照
5.2.8 网络直播
5.3 使用摄像头拍摄视频
5.3.1 录制视频文件
5.3.2 录制视频流
5.3.3 录制拆分为多个文件
5.3.4 录制循环视频流
5.3.5 录制网络视频流
5.3.6 视频预览叠加图像加水印
5.3.7 视频输出叠加文本、时间戳
5.4 本章小结
第6章 使用Python处理相机原始数据
6.1 捕获并直接编码
6.1.1 捕获并编码为numpy数组
6.1.2 捕获并编码为opencv对象
6.1.3 捕获未编码图像(YUV)
6.1.4 捕获编码图像(RGB)
6.1.5 自定义编码器
6.2 多种捕获方法
6.2.1 录像时截屏
6.2.2 多种分辨率下录制
6.2.3 特殊文件输出
6.2.4 Bayer-Raw数据获取
6.3 树莓派相机的实际应用
6.3.1 自定义输出:运动检测相机的代码实现
6.3.2 循环视频流切割:行车记录仪碰撞预警功能
6.3.3 快速捕获和处理:连拍算法实现
6.3.4 录制未经编码的视频:颜色检测
6.3.5 快速捕获和流传输:网络流直播
6.3.6 网络流媒体:结合网页技术直播
6.3.7 录制运动矢量数据:检测视频中的手势
6.4 常见错误集锦
6.5 本章小结
第7章 道路、商场人流统计
7.1 原理解析
7.1.1 目标检测与目标追踪
7.1.2 形心追踪算法原理
7.1.3 人群计数器原理
7.2 软件环境准备
7.3 使用Python实现人群计数器
7.3.1 目录结构
7.3.2 形心追踪器类CentroidTracker的实现
7.3.3 追踪目标类TrackableObject的实现
7.3.4 人群计数器的实现
7.3.5 树莓派人群计数器测试
7.4 本章小结
第8章 道路信息文字识别
8.1 EAST深度学习模型
8.1.1 EAST模型简介
8.1.2 相关软件包的安装
8.1.3 项目工程结构
8.2 检测图片中的文字
8.2.1 代码编写和解读
8.2.2 效果测试
8.3 检测视频中的文字
8.3.1 代码编写和解读
8.3.2 效果测试
8.4 对文字内容进行识别
8.4.1 Tesseract介绍和安装
8.4.2 使用Tesseract实现文字识别的原理
8.4.3 代码编写和解读
8.4.4 效果测试
8.5 本章小结
第9章 简单人脸追踪
9.1 核心原理和效果简介
9.2 环境准备和代码编写
9.2.1 使用Python实现形心追踪算法
9.2.2 人脸追踪的实现
9.3 测试人脸跟踪效果
9.3.1 测试效果
9.3.2 缺陷与不足
9.4 本章小结
第10章 人脸追踪安防摄像头
10.1 总体设计思路
10.1.1 硬件组装清单
10.1.2 PID控制反馈算法
10.1.3 人脸识别算法:基于Haar特征的级联分类器
10.2 软件环境准备
10.2.1 将smbus安装在py3cv3环境中
10.2.2 打开树莓派的Camera接口并安装驱动
10.2.3 安装gpiozero
10.2.4 安装imutils
10.3 编写代码
10.3.1 项目结构
10.3.2 实时调节反馈机制:PID Controller
10.3.3 在视频中检测到人脸
10.3.4 使用GPIOZERO进行舵机控制
10.4 使用PID调节二自由度云台
10.4.1 PID参数调试
10.4.2 运行二自由度人脸追踪摄像头
10.5 本章小结
第11章 多路摄像头中央AI监控
11.1 网络传输OpenCV帧
11.1.1 实现目标和方法
11.1.2 消息传递的概念
11.1.3 项目实现流程
11.2 ImageZMQ消息传递系统
11.2.1 什么是ZMQ
11.2.2 基于ZMQ的图片消息传递库:ImageZMQ
11.2.3 ImageZMQ依赖的软件包
11.2.4 项目整体介绍
11.3 多路树莓派摄像头配置
11.3.1 配置树莓派客户端的主机名
11.3.2 树莓派发送OpenCV视频流
11.3.3 将代码放到树莓派目录中
11.4 配置中央监控室服务器端和Caffe框架
11.4.1 安装Caffe框架
11.4.2 实现OpenCV视频监控接收器
11.4.3 使用MobileNet SSD对帧进行推理
11.5 使用OpenCV实现视频流网络传输
11.6 本章小结
更新时间:2020-11-12 17:42:14