本书基于Python语言,采用项目式的编写方法,全面、系统地介绍了机器视觉的基础知识、基本原理,以及常见的图像处理技术。全书共9个项目,内容包括搭建机器视觉开发环境、夯实Python编程基础、初识图像处理技术、图像增广、图像去雾、物体检测与计数、形状识别、图像拼接和图像合成。案例丰富,内容实用,易于读者掌握图像处理与机器视觉的理论知识和技能实操。
本书可作为各类院校智能机器人技术、机电一体化技术、人工智能技术应用等相关专业的教材,也可供相关领域的技术人员参考使用。
基础篇
项目1 搭建机器视觉开发环境 3
项目目标
项目描述
项目分析
项目准备
1.1 机器视觉与机器视觉系统
1.1.1 认识机器视觉
1.1.2 机器视觉的相关学科
1.1.3 机器视觉系统的组成
1.2 机器视觉的应用
1.2.1 机器视觉的典型应用
1.2.2 机器视觉的行业应用
1.3 认识Python与OpenCV
1.3.1 Python概述
1.3.2 什么是OpenCV
1.3.3 OpenCV的主要模块
项目实施——搭建机器视觉开发环境
项目实训
项目总结
项目考核
项目2 夯实Python编程基础
项目目标
项目描述
项目分析
项目准备
2.1 Python基础语法
2.1.1 Python编码规范
2.1.2 标识符与关键字
2.1.3 变量
2.1.4 运算符
2.1.5 输入和输出
2.2 流程控制语句
2.2.1 分支语句
2.2.2 循环语句
2.3 列表、元组和字典
2.3.1 列表
2.3.2 元组
2.3.3 字典
2.4 函数和模块
2.4.1 函数的定义和使用
2.4.2 函数的参数
2.4.3 模块的导入
2.5 Python机器视觉常用库
2.5.1 NumPy库
2.5.2 Matplotlib库
项目实施——开发“人机猜拳”游戏
项目实训
项目总结
项目考核
项目3 初识图像处理技术
项目目标
项目描述
项目分析
项目准备
3.1 图像处理基础
3.1.1 图像与数字图像
3.1.2 数字图像的分类
3.1.3 图像的数字化
3.2 图像的基本操作
3.2.1 读取、显示和保存图像
3.2.2 查看图像属性
3.3 图像的基本运算
3.3.1 算术运算
3.3.2 位运算
3.4 视频处理
3.4.1 视频的读取
3.4.2 视频文件属性的获取与设置
3.4.3 视频的保存
项目实施——图像打码
项目实训
项目总结
项目考核
应用篇
项目4 图像增广
项目目标
项目描述
项目分析
项目准备
4.1 图像的缩放与镜像
4.1.1 图像的缩放
4.1.2 图像的镜像
4.2 图像的仿射变换
4.2.1 图像的平移
4.2.2 图像的旋转
4.2.3 图像的剪切
4.3 图像的透视变换
项目实施——车辆数据集的图像增广
项目实训
项目总结
项目考核
项目5 图像去雾
项目目标
项目描述
项目分析
项目准备
5.1 图像的噪声
5.1.1 认识噪声
5.1.2 图像去噪的常用技术
5.2 图像平滑滤波
5.2.1 均值滤波
5.2.2 高斯滤波
5.2.3 中值滤波
5.2.4 双边滤波
5.3 图像的色彩空间
5.3.1 常用的色彩空间
5.3.2 色彩空间的转换
5.4 图像的直方图处理
5.4.1 认识直方图
5.4.2 绘制直方图
5.4.3 直方图均衡化
项目实施——风景图像的去雾处理
项目实训
项目总结
项目考核
项目6 物体检测与计数
项目目标
项目描述
项目分析
项目准备
6.1 阈值处理
6.1.1 全局阈值处理
6.1.2 Otsu阈值处理
6.1.3 自适应阈值处理
6.2 形态学变换
6.2.1 形态学变换基础
6.2.2 腐蚀与膨胀
6.2.3 开运算与闭运算
6.2.4 形态学其他运算
6.3 图像轮廓
6.3.1 轮廓的查找与绘制
6.3.2 轮廓的长度与面积
6.3.3 轮廓的拟合
项目实施——纽扣检测与计数
项目实训
项目总结
项目考核
项目7 形状识别
项目目标
项目描述
项目分析
项目准备
7.1 边缘检测
7.1.1 图像梯度
7.1.2 Canny边缘检测
7.2 霍夫变换
7.2.1 霍夫直线变换
7.2.2 霍夫圆变换
项目实施——验证码中的圆形识别
项目实训
项目总结
项目考核
项目8 图像拼接
项目目标
项目描述
项目分析
项目准备
8.1 图像特征检测
8.1.1 Harris算法
8.1.2 SIFT算法
8.1.3 ORB算法
8.2 图像特征匹配
8.2.1 暴力匹配算法
8.2.2 KNN算法
8.2.3 FLANN算法
项目实施——风景图像全景拼接
项目实训
项目总结
项目考核
综合篇
项目9 图像合成
项目目标
项目描述
项目分析
项目准备
项目实施——长城图像与蓝天图像的合成
项目实训
项目总结
项目考核
参考文献