从零开始学OpenCV(赠书同步电子书,微视频学编程)

从零开始学OpenCV(赠书同步电子书,微视频学编程)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2022-06
版次: 1
ISBN: 9787122405890
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 315页
正文语种: 简体中文
2人买过
  • 本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Python OpenCV编程知识,并提升自己的实际开发能力。 
    全书共分为4篇16章,内容包括搭建开发环境、图像处理基础、NumPy模块、绘制图形和文字、阈值、图像运算、腐蚀与膨胀、图像的几何变换、滤波器、模板匹配、图像轮廓、图形检测、视频处理、人脸跟踪与识别、MR机读答题卡、MR智能视频打卡系统等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会OpenCV程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。 
    本书适合Python OpenCV、人工智能、机器视觉初学者自学使用,也可用作高等院校相关专业的教材及参考书。 第1篇 基础知识篇 
    第章 搭建开发环境 2 视频讲解:6节,26分钟 
    1.1 OpenCV概述 3 
    1.1.1 OpenCV包含的模块 3 
    1.1.2 OpenCV的发展历程 4 
    1.1.3 OpenCV的应用 4 
    1.1.4 Python与OpenCV 4 
    1.2 Python的下载和安装 5 
    1.2.1 如何查看计算机操作系统的位数 5 
    1.2.2 下载Python安装包 5 
    1.2.3 Windows 64位系统上安装Python 7 
    1.2.4 测试Python是否安装成功 9 
    1.3 Python OpenCV的下载和安装 10 
    1.3.1 下载和安装OpenCV-Contrib-Python库 10 
    1.3.2 测试OpenCV-Contrib-Python库和NumPy库是否安装成功 11 
    1.4 PyCharm的下载和安装 11 
    1.4.1 下载PyCharm 11 
    1.4.2 安装PyCharm 12 
    1.4.3 启动并配置PyCharm 14 
    本章知识思维导图 19 
    第2章 图像处理基础 20 视频讲解:13节,38分钟 
    2.1 图像处理的基本操作 21 
    2.1.1 读取图像 21 
    [实例2.1] 读取当前项目目录下的图像 21 
    2.1.2 显示图像 22 
    [实例2.2] 窗口显示图像 23 
    2.1.3 保存图像 24 
    [实例2.3] 保存图像 24 
    2.1.4 获取图像属性 25 
    [实例2.4] 打印彩色图像和灰度图像的属性 25 
    2.2 像素 26 
    2.2.1 确定像素的位置 26 
    [实例2.5] 表示图2.8中的指定像素 28 
    2.2.2 获取像素的BGR值 28 
    2.2.3 修改像素的BGR值 30 
    [实例2.6] 修改图2.7中的指定区域内的所有像素 30 
    2.3 色彩空间 31 
    2.3.1 GRAY色彩空间 31 
    [实例2.7] 从BGR色彩空间转换到GRAY色彩空间 32 
    2.3.2 HSV色彩空间 33 
    [实例2.8] 从BGR色彩空间转换到HSV色彩空间 34 
    2.4 通道 34 
    2.4.1 拆分通道 34 
    [实例2.9] 拆分一幅BGR图像中的通道 35 
    [实例2.10] 拆分一幅HSV图像中的通道 36 
    2.4.2 合并通道 38 
    [实例2.11] 按B→G→R的顺序合并通道 38 
    [实例2.12] 合并H通道图像、S通道图像和V通道图像 39 
    2.4.3 综合运用拆分通道和合并通道 40 
    [实例2.13] 只把H通道的值调整为180 40 
    2.4.4 alpha通道 42 
    [实例2.14] 调整A通道的值 42 
    本章知识思维导图 44 
    第3章 NumPy模块 45 视频讲解:5节,35分钟 
    3.1 NumPy模块与OpenCV 46 
    3.2 数组的类型 46 
    3.3 创建数组 47 
    3.3.1 最常规的array()方法 47 
    [实例3.1] 创建一维数组和二维数组 48 
    [实例3.2] 创建浮点类型数组 48 
    [实例3.3] 创建三维数组 49 
    3.3.2 创建指定维度和数据类型未初始化的数组 49 
    [实例3.4] 创建2行3列的未初始化数组 49 
    3.3.3 创建用0填充的数组 49 
    [实例3.5] 创建纯0数组 49 
    3.3.4 创建用1填充的数组 50 
    [实例3.6] 创建纯1数组 50 
    3.3.5 创建随机数组 50 
    [实例3.7] 创建随机数组 50 
    3.4 操作数组 51 
    3.4.1 加法运算 51 
    [实例3.8] 对数组做加法运算 51 
    3.4.2 减法和乘除法运算 51 
    [实例3.9] 对数组做减法、乘法和除法运算 52 
    3.4.3 幂运算 52 
    [实例3.10] 两个数组做幂运算 52 
    3.4.4 比较运算 53 
    [实例3.11] 使用逻辑运算符比较数组 53 
    3.4.5 复制数组 53 
    [实例3.12] 复制数据,比较复制的结果与原数组是否相同 53 
    [实例3.13] 复制图像 54 
    3.5 数组的索引和切片 55 
    3.5.1 索引 55 
    [实例3.14] 查找一维数组索引为0的元素 55 
    3.5.2 切片式索引 55 
    [实例3.15] 获取数组中某范围内的元素 56 
    [实例3.16] 使用不同的切片式索引操作获取数组中的元素 56 
    3.5.3 二维数组索引 57 
    [实例3.17] 用三种方式获取二维数组中的元素 57 
    3.5.4 二维数组切片式索引 58 
    [实例3.18] 对二维数组进行切片式索引操作 58 
    3.6 创建图像 59 
    3.6.1 创建黑白图像 59 
    [实例3.19] 创建纯黑色图像 59 
    [实例3.20] 创建纯白色图像 59 
    [实例3.21] 在黑色图像内部绘制白色矩形 60 
    [实例3.22] 创建黑白相间的图像 60 
    3.6.2 创建彩色图像 61 
    [实例3.23] 创建彩色图像 61 
    3.6.3 创建随机图像 62 
    [实例3.24] 创建随机像素的雪花点图像 62 
    3.7 拼接图像 63 
    3.7.1 水平拼接数组 63 
    3.7.2 垂直拼接数组 63 
    3.7.3 在图像处理中的应用 64 
    [实例3.25] 按照水平和垂直两种方式拼接两个图像 64 
    本章知识思维导图 66 
    第4章 绘制图形和文字 67 视频讲解:9节,23分钟 
    4.1 线段的绘制 68 
    [实例4.1] 绘制线段并拼成一个“王”字 68 
    [实例4.2] 绘制99条长度、方向、宽度、颜色随机的线段 69 
    4.2 矩形的绘制 71 
    [实例4.3] 绘制一个矩形边框 71 
    [实例4.4] 绘制正方形 72 
    4.3 圆形的绘制 73 
    [实例4.5] 绘制“交通灯” 74 
    [实例4.6] 绘制同心圆 74 
    [实例4.7] 绘制27个随机实心圆 75 
    4.4 多边形的绘制 76 
    [实例4.8] 绘制一个等腰梯形边框 77 
    [实例4.9] 绘制五角星 78 
    4.5 文字的绘制 79 
    [实例4.10] 绘制文字“OpenCV” 80 
    4.5.1 文字的斜体效果 81 
    [实例4.11] 绘制指定字体样式的文字并呈现斜体效果 81 
    4.5.2 文字的垂直镜像效果 82 
    [实例4.12] 绘制呈现垂直镜像效果的“OpenCV” 82 
    4.5.3 在图像上绘制文字 83 
    [实例4.13] 在图像上绘制文字 83 
    4.6 动态绘制图形 83 
    [实例4.14] 弹球动画 84 
    本章知识思维导图 86 
    第5章 阈值 88 视频讲解:10节,18分钟 
    5.1 阈值概述 89 
    5.2 阈值处理函数 89 
    5.3 二值化处理 90 
    5.3.1 “非黑即白”的图像 90 
    [实例5.1] 二值化阈值处理白黑渐变图 90 
    [实例5.2] 观察不同阈值的处理效果 91 
    [实例5.3] 观察不同最大值的处理效果 92 
    5.3.2 反二值化处理 93 
    [实例5.4] 对图像进行反二值化处理 93 
    5.4 零处理 94 
    5.4.1 低于阈值零处理 95 
    [实例5.5] 对图像进行低于阈值零处理 95 
    5.4.2 超出阈值零处理 96 
    [实例5.6] 对图像进行超出阈值零处理 96 
    5.5 截断处理 97 
    [实例5.6] 对图像进行截断处理 97 
    5.6 自适应处理 99 
    [实例5.8] 无法得到清晰有效的结果 99 
    [实例5.9] 显示自适应阈值处理的结果 101 
    5.7 Otsu方法 102 
    [实例5.10] 实现Otsu方法的阈值处理 103 
    5.8 阈值处理的应用 104 
    [实例5.11] 利用阈值处理勾勒楼房和汽车的轮廓 104 
    [实例5.12] 阈值调试器 106 
    本章知识思维导图 107 
    第6章 图像运算 108 视频讲解:9节,65分钟 
    6.1 掩模 109 
    [实例6.1] 创建3通道掩模图像 110 
    6.2 图像的加法运算 111 
    [实例6.2] 分别使用“+”和add()方法计算图像和 111 
    [实例6.3] 显示图像底片的效果 112 
    [实例6.4] 模拟三色光叠加得白光 113 
    [实例6.5] 利用掩模遮盖相加结果 114 
    6.3 图像的位运算 115 
    6.3.1 按位与运算 115 
    [实例6.6] 花图像与十字掩模做与运算 116 
    6.3.2 按位或运算 117 
    [实例6.7] 花图像与十字掩模做或运算 118 
    6.3.3 按位取反运算 119 
    [实例6.8] 对花图像进行取反运算 119 
    6.3.4 按位异或运算 119 
    [实例6.9] 花图像与十字掩模做异或运算 121 
    [实例6.10] 对图像进行加密、解密 121 
    6.3.5 图像的位运算的应用 123 
    [实例6.11] 粘贴带透明区域的图像 123 
    6.4 合并图像 124 
    6.4.1 加权和 125 
    [实例6.12] 利用计算加权和的方式实现多次曝光效果 125 
    [实例6.13] 为图像添加水印效果 126 
    6.4.2 覆盖 127 
    [实例6.14] 将小猫图像贴到沙滩上 127 
    [实例6.15] 拼接禁止吸烟图像 129 
    本章知识思维导图 130 
    第7章 腐蚀与膨胀 131 视频讲解:7节,39分钟 
    7.1 腐蚀 132 
    [实例7.1] 将仙人球图像中的刺都抹除掉 133 
    7.2 膨胀 134 
    [实例7.2] 将图像加工成“近视眼”效果 135 
    7.3 开运算 136 
    [实例7.3] 抹除黑种草图像中的针状叶子 136 
    7.4 闭运算 137 
    [实例7.4] 对汉字图片进行闭运算 138 
    7.5 形态学方法 139 
    7.5.1 梯度运算 140 
    [实例7.5] 通过梯度运算画出小蜘蛛的轮廓 140 
    7.5.2 顶帽运算 141 
    [实例7.6] 通过顶帽运算画出小蜘蛛的腿 141 
    7.5.3 黑帽运算 142 
    [实例7.7] 通过黑帽运算画出小蜘蛛身上的花纹 142 
    本章知识思维导图 143
  • 内容简介:
    本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Python OpenCV编程知识,并提升自己的实际开发能力。 
    全书共分为4篇16章,内容包括搭建开发环境、图像处理基础、NumPy模块、绘制图形和文字、阈值、图像运算、腐蚀与膨胀、图像的几何变换、滤波器、模板匹配、图像轮廓、图形检测、视频处理、人脸跟踪与识别、MR机读答题卡、MR智能视频打卡系统等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会OpenCV程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。 
    本书适合Python OpenCV、人工智能、机器视觉初学者自学使用,也可用作高等院校相关专业的教材及参考书。
  • 目录:
    第1篇 基础知识篇 
    第章 搭建开发环境 2 视频讲解:6节,26分钟 
    1.1 OpenCV概述 3 
    1.1.1 OpenCV包含的模块 3 
    1.1.2 OpenCV的发展历程 4 
    1.1.3 OpenCV的应用 4 
    1.1.4 Python与OpenCV 4 
    1.2 Python的下载和安装 5 
    1.2.1 如何查看计算机操作系统的位数 5 
    1.2.2 下载Python安装包 5 
    1.2.3 Windows 64位系统上安装Python 7 
    1.2.4 测试Python是否安装成功 9 
    1.3 Python OpenCV的下载和安装 10 
    1.3.1 下载和安装OpenCV-Contrib-Python库 10 
    1.3.2 测试OpenCV-Contrib-Python库和NumPy库是否安装成功 11 
    1.4 PyCharm的下载和安装 11 
    1.4.1 下载PyCharm 11 
    1.4.2 安装PyCharm 12 
    1.4.3 启动并配置PyCharm 14 
    本章知识思维导图 19 
    第2章 图像处理基础 20 视频讲解:13节,38分钟 
    2.1 图像处理的基本操作 21 
    2.1.1 读取图像 21 
    [实例2.1] 读取当前项目目录下的图像 21 
    2.1.2 显示图像 22 
    [实例2.2] 窗口显示图像 23 
    2.1.3 保存图像 24 
    [实例2.3] 保存图像 24 
    2.1.4 获取图像属性 25 
    [实例2.4] 打印彩色图像和灰度图像的属性 25 
    2.2 像素 26 
    2.2.1 确定像素的位置 26 
    [实例2.5] 表示图2.8中的指定像素 28 
    2.2.2 获取像素的BGR值 28 
    2.2.3 修改像素的BGR值 30 
    [实例2.6] 修改图2.7中的指定区域内的所有像素 30 
    2.3 色彩空间 31 
    2.3.1 GRAY色彩空间 31 
    [实例2.7] 从BGR色彩空间转换到GRAY色彩空间 32 
    2.3.2 HSV色彩空间 33 
    [实例2.8] 从BGR色彩空间转换到HSV色彩空间 34 
    2.4 通道 34 
    2.4.1 拆分通道 34 
    [实例2.9] 拆分一幅BGR图像中的通道 35 
    [实例2.10] 拆分一幅HSV图像中的通道 36 
    2.4.2 合并通道 38 
    [实例2.11] 按B→G→R的顺序合并通道 38 
    [实例2.12] 合并H通道图像、S通道图像和V通道图像 39 
    2.4.3 综合运用拆分通道和合并通道 40 
    [实例2.13] 只把H通道的值调整为180 40 
    2.4.4 alpha通道 42 
    [实例2.14] 调整A通道的值 42 
    本章知识思维导图 44 
    第3章 NumPy模块 45 视频讲解:5节,35分钟 
    3.1 NumPy模块与OpenCV 46 
    3.2 数组的类型 46 
    3.3 创建数组 47 
    3.3.1 最常规的array()方法 47 
    [实例3.1] 创建一维数组和二维数组 48 
    [实例3.2] 创建浮点类型数组 48 
    [实例3.3] 创建三维数组 49 
    3.3.2 创建指定维度和数据类型未初始化的数组 49 
    [实例3.4] 创建2行3列的未初始化数组 49 
    3.3.3 创建用0填充的数组 49 
    [实例3.5] 创建纯0数组 49 
    3.3.4 创建用1填充的数组 50 
    [实例3.6] 创建纯1数组 50 
    3.3.5 创建随机数组 50 
    [实例3.7] 创建随机数组 50 
    3.4 操作数组 51 
    3.4.1 加法运算 51 
    [实例3.8] 对数组做加法运算 51 
    3.4.2 减法和乘除法运算 51 
    [实例3.9] 对数组做减法、乘法和除法运算 52 
    3.4.3 幂运算 52 
    [实例3.10] 两个数组做幂运算 52 
    3.4.4 比较运算 53 
    [实例3.11] 使用逻辑运算符比较数组 53 
    3.4.5 复制数组 53 
    [实例3.12] 复制数据,比较复制的结果与原数组是否相同 53 
    [实例3.13] 复制图像 54 
    3.5 数组的索引和切片 55 
    3.5.1 索引 55 
    [实例3.14] 查找一维数组索引为0的元素 55 
    3.5.2 切片式索引 55 
    [实例3.15] 获取数组中某范围内的元素 56 
    [实例3.16] 使用不同的切片式索引操作获取数组中的元素 56 
    3.5.3 二维数组索引 57 
    [实例3.17] 用三种方式获取二维数组中的元素 57 
    3.5.4 二维数组切片式索引 58 
    [实例3.18] 对二维数组进行切片式索引操作 58 
    3.6 创建图像 59 
    3.6.1 创建黑白图像 59 
    [实例3.19] 创建纯黑色图像 59 
    [实例3.20] 创建纯白色图像 59 
    [实例3.21] 在黑色图像内部绘制白色矩形 60 
    [实例3.22] 创建黑白相间的图像 60 
    3.6.2 创建彩色图像 61 
    [实例3.23] 创建彩色图像 61 
    3.6.3 创建随机图像 62 
    [实例3.24] 创建随机像素的雪花点图像 62 
    3.7 拼接图像 63 
    3.7.1 水平拼接数组 63 
    3.7.2 垂直拼接数组 63 
    3.7.3 在图像处理中的应用 64 
    [实例3.25] 按照水平和垂直两种方式拼接两个图像 64 
    本章知识思维导图 66 
    第4章 绘制图形和文字 67 视频讲解:9节,23分钟 
    4.1 线段的绘制 68 
    [实例4.1] 绘制线段并拼成一个“王”字 68 
    [实例4.2] 绘制99条长度、方向、宽度、颜色随机的线段 69 
    4.2 矩形的绘制 71 
    [实例4.3] 绘制一个矩形边框 71 
    [实例4.4] 绘制正方形 72 
    4.3 圆形的绘制 73 
    [实例4.5] 绘制“交通灯” 74 
    [实例4.6] 绘制同心圆 74 
    [实例4.7] 绘制27个随机实心圆 75 
    4.4 多边形的绘制 76 
    [实例4.8] 绘制一个等腰梯形边框 77 
    [实例4.9] 绘制五角星 78 
    4.5 文字的绘制 79 
    [实例4.10] 绘制文字“OpenCV” 80 
    4.5.1 文字的斜体效果 81 
    [实例4.11] 绘制指定字体样式的文字并呈现斜体效果 81 
    4.5.2 文字的垂直镜像效果 82 
    [实例4.12] 绘制呈现垂直镜像效果的“OpenCV” 82 
    4.5.3 在图像上绘制文字 83 
    [实例4.13] 在图像上绘制文字 83 
    4.6 动态绘制图形 83 
    [实例4.14] 弹球动画 84 
    本章知识思维导图 86 
    第5章 阈值 88 视频讲解:10节,18分钟 
    5.1 阈值概述 89 
    5.2 阈值处理函数 89 
    5.3 二值化处理 90 
    5.3.1 “非黑即白”的图像 90 
    [实例5.1] 二值化阈值处理白黑渐变图 90 
    [实例5.2] 观察不同阈值的处理效果 91 
    [实例5.3] 观察不同最大值的处理效果 92 
    5.3.2 反二值化处理 93 
    [实例5.4] 对图像进行反二值化处理 93 
    5.4 零处理 94 
    5.4.1 低于阈值零处理 95 
    [实例5.5] 对图像进行低于阈值零处理 95 
    5.4.2 超出阈值零处理 96 
    [实例5.6] 对图像进行超出阈值零处理 96 
    5.5 截断处理 97 
    [实例5.6] 对图像进行截断处理 97 
    5.6 自适应处理 99 
    [实例5.8] 无法得到清晰有效的结果 99 
    [实例5.9] 显示自适应阈值处理的结果 101 
    5.7 Otsu方法 102 
    [实例5.10] 实现Otsu方法的阈值处理 103 
    5.8 阈值处理的应用 104 
    [实例5.11] 利用阈值处理勾勒楼房和汽车的轮廓 104 
    [实例5.12] 阈值调试器 106 
    本章知识思维导图 107 
    第6章 图像运算 108 视频讲解:9节,65分钟 
    6.1 掩模 109 
    [实例6.1] 创建3通道掩模图像 110 
    6.2 图像的加法运算 111 
    [实例6.2] 分别使用“+”和add()方法计算图像和 111 
    [实例6.3] 显示图像底片的效果 112 
    [实例6.4] 模拟三色光叠加得白光 113 
    [实例6.5] 利用掩模遮盖相加结果 114 
    6.3 图像的位运算 115 
    6.3.1 按位与运算 115 
    [实例6.6] 花图像与十字掩模做与运算 116 
    6.3.2 按位或运算 117 
    [实例6.7] 花图像与十字掩模做或运算 118 
    6.3.3 按位取反运算 119 
    [实例6.8] 对花图像进行取反运算 119 
    6.3.4 按位异或运算 119 
    [实例6.9] 花图像与十字掩模做异或运算 121 
    [实例6.10] 对图像进行加密、解密 121 
    6.3.5 图像的位运算的应用 123 
    [实例6.11] 粘贴带透明区域的图像 123 
    6.4 合并图像 124 
    6.4.1 加权和 125 
    [实例6.12] 利用计算加权和的方式实现多次曝光效果 125 
    [实例6.13] 为图像添加水印效果 126 
    6.4.2 覆盖 127 
    [实例6.14] 将小猫图像贴到沙滩上 127 
    [实例6.15] 拼接禁止吸烟图像 129 
    本章知识思维导图 130 
    第7章 腐蚀与膨胀 131 视频讲解:7节,39分钟 
    7.1 腐蚀 132 
    [实例7.1] 将仙人球图像中的刺都抹除掉 133 
    7.2 膨胀 134 
    [实例7.2] 将图像加工成“近视眼”效果 135 
    7.3 开运算 136 
    [实例7.3] 抹除黑种草图像中的针状叶子 136 
    7.4 闭运算 137 
    [实例7.4] 对汉字图片进行闭运算 138 
    7.5 形态学方法 139 
    7.5.1 梯度运算 140 
    [实例7.5] 通过梯度运算画出小蜘蛛的轮廓 140 
    7.5.2 顶帽运算 141 
    [实例7.6] 通过顶帽运算画出小蜘蛛的腿 141 
    7.5.3 黑帽运算 142 
    [实例7.7] 通过黑帽运算画出小蜘蛛身上的花纹 142 
    本章知识思维导图 143
查看详情
12