展开全部

主编推荐语

OpenCV是计算机视觉领域的开发者必须掌握的技术。

内容简介

本书基于OpenCV 4.10与Qt C++进行编写,全面系统地介绍OpenCV的使用及实战案例,并配套提供全书示例源码、PPT课件与作者QQ答疑服务。

本书共分19章,主要内容包括数字图像视觉概述、搭建OpenCV开发环境、核心模块Core、图像处理模块基础、灰度变换和直方图修正、图像平滑、几何变换、图像边缘检测、图像分割、图像金字塔、图像形态学、视频处理、机器学习、数字水印、图像加解密、物体计数、图像轮廓、手势识别以及停车场车牌识别系统等。

目录

  • 版权信息
  • 内容简介
  • 主要作者简介
  • 前言
  • 第1章 数字图像视觉概述
  • 1.1 图像的基本概念
  • 1.1.1 图像和图形
  • 1.1.2 什么是数字图像
  • 1.1.3 数字图像的特点
  • 1.1.4 图像单位(像素)
  • 1.1.5 图像分辨率
  • 1.1.6 屏幕分辨率
  • 1.1.7 图像的灰度
  • 1.1.8 灰度级
  • 1.1.9 图像深度
  • 1.1.10 二值图像
  • 1.1.11 灰度图
  • 1.1.12 彩色图像
  • 1.1.13 通道
  • 1.1.14 图像存储
  • 1.2 图像噪声
  • 1.2.1 图像噪声的定义
  • 1.2.2 图像噪声的来源
  • 1.2.3 图像噪声的滤除
  • 1.3 图像处理
  • 1.3.1 图像处理的分类
  • 1.3.2 数字图像处理
  • 1.3.3 数字图像处理常用的方法
  • 1.3.4 图像处理的应用
  • 1.4 图像信号处理层次
  • 1.5 计算机视觉
  • 1.5.1 计算机视觉的概念
  • 1.5.2 计算机视觉系统的构成和分类
  • 1.5.3 机器视觉的优势
  • 1.5.4 机器视觉系统的应用
  • 1.5.5 计算机视觉与相关学科的关系
  • 1.6 OpenCV概述
  • 1.7 Qt简介
  • 第2章 搭建OpenCV开发环境
  • 2.1 Windows下搭建OpenCV开发环境
  • 2.1.1 下载和安装Qt
  • 2.1.2 下载和解压OpenCV
  • 2.1.3 了解构建工具
  • 2.1.4 下载和安装CMake
  • 2.1.5 生成Makefile文件
  • 2.1.6 开始编译OpenCV
  • 2.1.7 Qt开发的第一个OpenCV程序
  • 2.2 Linux下搭建OpenCV开发环境
  • 2.2.1 准备编译OpenCV所需依赖
  • 2.2.2 编译OpenCV源码
  • 2.2.3 Linux下的第一个OpenCV程序
  • 2.2.4 下载Qt
  • 2.2.5 安装依赖包
  • 2.2.6 安装Qt
  • 2.2.7 Linux下用Qt开发OpenCV
  • 2.2.8 做个快照
  • 2.3 数学函数
  • 2.4 OpenCV架构
  • 2.5 图像输入输出模块imgcodecs
  • 2.5.1 imread读取图像文件
  • 2.5.2 imwrite保存图片
  • 2.6 OpenCV界面编程
  • 2.6.1 新建窗口并显示
  • 2.6.2 单窗口显示多幅图像
  • 2.6.3 销毁窗口
  • 2.6.4 调整窗口大小
  • 2.6.5 鼠标事件
  • 2.6.6 键盘事件
  • 2.6.7 滑动条事件
  • 第3章 核心模块Core
  • 3.1 矩阵操作
  • 3.1.1 矩阵类Mat
  • 3.1.2 构造法
  • 3.1.3 直接赋值法
  • 3.1.4 数组法
  • 3.1.5 create函数法
  • 3.1.6 定义特殊矩阵
  • 3.1.7 得到矩阵的行数、列数和维数
  • 3.1.8 矩阵的数据指针及其打印
  • 3.1.9 创建新的矩阵头
  • 3.1.10 得到矩阵通道数
  • 3.1.11 复制矩阵
  • 3.1.12 判断矩阵是否有元素
  • 3.1.13 矩阵的5种遍历方式
  • 3.1.14 设置矩阵新值
  • 3.1.15 得到矩阵的元素总个数
  • 3.1.16 矩形类Rect
  • 3.2 数组的操作
  • 3.3 读写XML和YAML文件
  • 3.3.1 YAML文件简介
  • 3.3.2 写入和读取YAML\XML文件的基本步骤
  • 3.3.3 XML、YAML文件的打开
  • 3.3.4 文本和数字的输入和输出
  • 3.3.5 OpenCV数据结构的输入和输出
  • 3.3.6 vector(arrays)和maps的输入和输出
  • 3.3.7 文件关闭
  • 第4章 图像处理模块基础
  • 4.1 颜色变换cvtColor
  • 4.2 画基本图形
  • 4.2.1 点的表示
  • 4.2.2 画矩形
  • 4.2.3 画圆
  • 4.2.4 画椭圆
  • 4.2.5 画线段
  • 4.2.6 填充多边形
  • 4.3 像素存放类Scalar
  • 4.4 使用随机数
  • 4.4.1 产生一个随机数
  • 4.4.2 返回下一个随机数
  • 4.4.3 用随机数填充矩阵
  • 4.5 文字绘制
  • 4.6 为图像添加边框
  • 4.7 在图像中查找轮廓
  • 第5章 灰度变换和直方图修正
  • 5.1 点运算
  • 5.1.1 基本概念
  • 5.1.2 点运算的目标
  • 5.1.3 点运算的分类
  • 5.1.4 点运算的特点
  • 5.1.5 点运算的应用
  • 5.2 灰度变换
  • 5.2.1 灰度变换概述
  • 5.2.2 灰度变换的作用
  • 5.2.3 灰度变换的方法
  • 5.2.4 灰度化
  • 5.2.5 对比度
  • 5.2.6 灰度的线性变换
  • 5.2.7 分段线性灰度变换
  • 5.2.8 对数变换和反对数变换
  • 5.2.9 幂律变换
  • 5.3 直方图修正
  • 5.3.1 直方图的概念
  • 5.3.2 OpenCV实现灰度直方图
  • 5.3.3 直方图均衡化
  • 第6章 图像平滑
  • 6.1 平滑处理算法
  • 6.2 线性滤波
  • 6.2.1 归一化方框滤波器
  • 6.2.2 高斯滤波器
  • 6.3 非线性滤波
  • 6.3.1 中值滤波
  • 6.3.2 双边滤波
  • 第7章 几何变换
  • 7.1 几何变换基础
  • 7.2 图像平移
  • 7.3 图像旋转
  • 7.4 仿射变换
  • 7.5 图像缩放
  • 7.5.1 缩放原理
  • 7.5.2 OpenCV中的缩放
  • 第8章 图像边缘检测
  • 8.1 图像边缘检测概述
  • 8.2 边缘检测研究的历史现状
  • 8.3 边缘定义及类型分析
  • 8.4 梯度的概念
  • 8.5 图像边缘检测的应用
  • 8.6 目前边缘检测存在的问题
  • 8.7 边缘检测的基本思想
  • 8.8 图像边缘检测的步骤
  • 8.9 经典图像边缘检测算法
  • 8.9.1 差分边缘检测
  • 8.9.2 Roberts算子
  • 8.9.3 Sobel算子边缘检测
  • 8.9.4 Prewitt算子边缘检测
  • 8.9.5 LoG边缘检测算子
  • 8.9.6 边缘检测的新技术与方法
  • 第9章 图像分割
  • 9.1 图像分割概述
  • 9.2 图像分割的应用
  • 9.3 图像分割的数学定义
  • 9.4 图像分割方法的分类
  • 9.4.1 基于阈值化的分割方法
  • 9.4.2 基于边缘的分割方法
  • 9.4.3 基于区域的分割方法
  • 9.4.4 基于神经网络的分割方法
  • 9.4.5 基于聚类的分割方法
  • 9.5 使用OpenCV进行图像分割
  • 9.5.1 阈值分割
  • 9.5.2 固定阈值分割
  • 9.5.3 自适应阈值分割
  • 9.6 彩色图像分割
  • 9.7 grabCut算法分割图像
  • 9.7.1 基本概念
  • 9.7.2 grabCut函数
  • 9.8 floodFill(漫水填充)分割
  • 9.8.1 基本概念
  • 9.8.2 floodFill函数
  • 9.9 分水岭分割法
  • 9.9.1 基本概念
  • 9.9.2 wathershed函数
  • 第10章 图像金字塔
  • 10.1 图像金字塔概述
  • 10.2 高斯金字塔
  • 10.2.1 向下采样
  • 10.2.2 向上采样
  • 10.3 拉普拉斯金字塔
  • 第11章 图像形态学
  • 11.1 图像形态学概述
  • 11.2 形态学的应用
  • 11.2.1 数学上的形态学
  • 11.2.2 格
  • 11.2.3 拓扑学
  • 11.2.4 数学形态学的组成
  • 11.2.5 数学形态学的应用
  • 11.2.6 操作分类
  • 11.3 结构元素
  • 11.4 膨胀
  • 11.5 腐蚀
  • 11.6 开运算
  • 11.7 闭运算
  • 11.8 实现腐蚀和膨胀
  • 11.9 开闭运算和顶帽黑帽
  • 11.10 击中击不中
  • 11.11 利用形态学运算提取水平线和垂直线
  • 第12章 视频处理
  • 12.1 OpenCV视频处理架构
  • 12.2 类VideoCapture
  • 12.3 构造VideoCapture对象
  • 12.4 判断视频是否打开成功
  • 12.5 读取视频帧
  • 12.6 播放视频文件
  • 12.7 获取和设置视频属性
  • 12.8 播放摄像头视频
  • 12.9 录制视频类VideoWriter
  • 12.9.1 构造VideoWriter对象
  • 12.9.2 初始化或重新初始化
  • 12.9.3 连接一个fourcc代码
  • 12.10 实现一个视频播放器
  • 第13章 机器学习
  • 13.1 机器学习概述
  • 13.2 机器学习发展历程
  • 13.3 机器学习研究现状
  • 13.3.1 传统机器学习的研究现状
  • 13.3.2 大数据环境下机器学习的研究现状
  • 13.4 机器学习的分类
  • 13.4.1 基于学习策略的分类
  • 13.4.2 基于学习方法的分类
  • 13.4.3 基于学习方式的分类
  • 13.4.4 基于数据形式的分类
  • 13.4.5 基于学习目标的分类
  • 13.5 机器学习常见算法
  • 13.6 机器学习的研究内容
  • 13.7 机器学习的应用
  • 13.8 OpenCV中的机器学习
  • 13.8.1 支持向量机
  • 13.8.2 贝叶斯分类器
  • 第14章 数字水印
  • 14.1 数字水印概述
  • 14.1.1 数字水印的特点
  • 14.1.2 图像数字水印
  • 14.1.3 数字水印原理
  • 14.1.4 嵌入过程
  • 14.1.5 提取过程
  • 14.2 相关函数
  • 14.3 代码实现数字水印
  • 第15章 图像加密和解密
  • 15.1 图像加密和解密原理
  • 15.2 相关函数
  • 15.3 代码实现图像加解密
  • 第16章 物体计数
  • 16.1 物体计数基本原理
  • 16.2 在图像上绘制文字
  • 16.3 代码实现药片计数
  • 第17章 图像轮廓
  • 17.1 图像轮廓概述
  • 17.2 应用场景
  • 17.3 OpenCV中的轮廓函数
  • 17.3.1 查找轮廓findContours
  • 17.3.2 轮廓的基本属性
  • 17.3.3 绘制轮廓drawContours
  • 17.3.4 求轮廓面积contourArea
  • 17.4 实战轮廓函数
  • 17.5 实战黑白翻转
  • 第18章 手势识别
  • 18.1 手势识别概述
  • 18.2 凸包和凸包检测
  • 18.2.1 查找凸包的示例
  • 18.2.2 凸缺陷及其意义
  • 18.3 手势识别原理
  • 18.4 区分手势0和1
  • 18.5 区分手势2到5
  • 第19章 停车场车牌识别系统
  • 19.1 车牌识别技术概述
  • 19.2 车牌识别技术的宏观分析
  • 19.2.1 国外技术分析
  • 19.2.2 国内技术分析
  • 19.2.3 车牌识别技术的难点
  • 19.2.4 车牌识别系统的开发思路
  • 19.3 车牌定位技术
  • 19.3.1 车牌特征概述
  • 19.3.2 车牌定位方法
  • 19.3.3 车牌图像预处理
  • 19.3.4 车牌图像的灰度化
  • 19.3.5 车牌图像的直方图均衡化
  • 19.3.6 车牌图像的滤波
  • 19.3.7 车牌图像的二值化
  • 19.3.8 车牌图像的边缘检测
  • 19.3.9 车牌图像的灰度映射
  • 19.3.10 车牌图像的改进型投影法定位
  • 19.4 车牌字符分割技术
  • 19.4.1 常用车牌字符分割算法
  • 19.4.2 车牌倾斜问题
  • 19.4.3 车牌倾斜度检测方法
  • 19.4.4 车牌倾斜度校正方法
  • 19.4.5 车牌边框和铆钉的去除
  • 19.4.6 车牌字符分割
  • 19.4.7 基于垂直投影和先验知识的车牌字符分割
  • 19.4.8 粘连车牌字符的分割
  • 19.4.9 断裂车牌字符的合并
  • 19.4.10 对车牌字符的切分结果进行确认
  • 19.5 车牌字符识别技术
  • 19.5.1 模式识别
  • 19.5.2 字符识别
  • 19.5.3 汉字识别
  • 19.6 系统设计
  • 19.7 系统拓扑结构
  • 19.8 停车场端的详细设计
  • 19.9 办公室端的详细设计
  • 19.9.1 创建项目
  • 19.9.2 设计界面
  • 19.9.3 实现构造函数
  • 19.9.4 文件信息类MyFileInfo
  • 19.9.5 实现连接服务器函数
  • 19.9.6 关联按钮槽函数
  • 19.9.7 实现文件下载功能
  • 19.9.8 接收文件信息
  • 19.9.9 接收文件数据
  • 19.9.10 图像处理相关的成员变量
  • 19.9.11 实现打开文件
  • 19.9.12 实现图像二值化
  • 19.9.13 实现定位车牌
  • 19.9.14 实现分割字符
  • 19.9.15 实现识别结果
  • 19.9.16 运行程序
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。