Python图像处理实战

Book description

Python图像处理

Key Features

  • 图像处理、计算机视觉与深度学习的最新进展。
  • 实战性较强,涵盖图像修复、梯度融合、变分去噪、接缝雕刻、图像绗缝和人脸变形等新应用。
  • 用流行的Python 图像处理库、机器学习库和深度学习库解决图像处理问题。

Book Description

本书介绍如何用流行的Python 图像处理库、机器学习库和深度学习库解决图像处理

问题。

本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图

像处理以及计算机视觉与深度学习方面的最新进展。全书共12 章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。

本书适合Python 工程师和相关研究人员阅读,也适合对计算机视觉、图像处理、机

器学习和深度学习感兴趣的软件工程师参考。

What you will learn

  • 学习经典的图像处理技术
  • 探索图像处理算法的演变历程
  • 了解图像处理以及计算机视觉与深度学习方面的最新进展

Who this book is for

本书适用于计算机视觉工程师、图像处理工程师、软件工程师、ML工程师。读者应具有一定的Python编程基础,并希望进一步了解图像处理的细节和复杂性。

Table of contents

  1. 版权信息
  2. 版权
  3. 版权声明
  4. 内容提要
  5. 作者简介
  6. 审稿人简介
  7. 译者简介
  8. 前言
  9. 第1章 图像处理入门
    1. 1.1 什么是图像处理及图像处理的应用
      1. 1.1.1 什么是图像以及图像是如何存储的
      2. 1.1.2 什么是图像处理
      3. 1.1.3 图像处理的应用
    2. 1.2 图像处理流程
    3. 1.3 在Python中安装不同的图像处理库
      1. 1.3.1 安装pip
      2. 1.3.2 在Python中安装图像处理库
      3. 1.3.3 安装Anaconda发行版
      4. 1.3.4 安装Jupyter笔记本
    4. 1.4 使用Python进行图像输入/输出和显示
      1. 1.4.1 使用PIL读取、保存和显示图像
      2. 1.4.2 使用matplotlib读取、保存和显示图像
      3. 1.4.3 使用scikit-image读取、保存和显示图像
      4. 1.4.4 使用SciPy的misc模块读取、保存和显示图像
    5. 1.5 处理不同的文件格式和图像类型,并执行基本的图像操作
      1. 1.5.1 处理不同的文件格式和图像类型
      2. 1.5.2 执行基本的图像操作
    6. 小结
    7. 习题
    8. 拓展阅读
  10. 第2章 采样、傅里叶变换与卷积
    1. 2.1 图像形成——采样和量化
      1. 2.1.1 采样
      2. 2.1.2 量化
    2. 2.2 离散傅里叶变换
      1. 2.2.1 为什么需要DFT
      2. 2.2.2 用快速傅里叶变换算法计算DFT
    3. 2.3 理解卷积
      1. 2.3.1 为什么需要卷积图像
      2. 2.3.2 使用SciPy信号模块的convolve2d函数进行卷积
      3. 2.3.3 使用SciPy中的ndimage.convolve函数进行卷积
      4. 2.3.4 相关与卷积
      5. 模板匹配与图像和模板之间的互相关
    4. 小结
    5. 习题
  11. 第3章 卷积和频域滤波
    1. 3.1 卷积定理和频域高斯模糊
      1. 卷积定理的应用
    2. 3.2 频域滤波
      1. 3.2.1 什么是滤波器
      2. 3.2.2 高通滤波器
      3. 3.2.3 低通滤波器
      4. 3.2.4 DoG带通滤波器
      5. 3.2.5 带阻(陷波)滤波器
      6. 3.2.6 图像复原
    3. 小结
    4. 习题
  12. 第4章 图像增强
    1. 4.1 逐点强度变换——像素变换
      1. 4.1.1 对数变换
      2. 4.1.2 幂律变换
      3. 4.1.3 对比度拉伸
      4. 4.1.4 二值化
    2. 4.2 直方图处理——直方图均衡化和直方图匹配
      1. 4.2.1 基于scikit-image的对比度拉伸和直方图均衡化
      2. 4.2.2 直方图匹配
    3. 4.3 线性噪声平滑
      1. 4.3.1 PIL平滑
      2. 4.3.2 基于SciPy ndimage进行盒核与高斯核平滑比较
    4. 4.4 非线性噪声平滑
      1. 4.4.1 PIL平滑
      2. 4.4.2 scikit-image平滑(去噪)
      3. 4.4.3 SciPy ndimage平滑
    5. 小结
    6. 习题
  13. 第5章 应用导数方法实现图像增强
    1. 5.1 图像导数——梯度和拉普拉斯算子
      1. 5.1.1 导数与梯度
      2. 5.1.2 拉普拉斯算子
      3. 5.1.3 噪声对梯度计算的影响
    2. 5.2 锐化和反锐化掩模
      1. 5.2.1 使用拉普拉斯滤波器锐化图像
      2. 5.2.2 反锐化掩模
    3. 5.3 使用导数和滤波器进行边缘检测
      1. 5.3.1 用偏导数计算梯度大小
      2. 5.3.2 scikit-image的Sobel边缘检测器
      3. 5.3.3 scikit-image的不同边缘检测器——Prewitt、Roberts、
      4. 5.3.4 scikit-image的Canny边缘检测器
      5. 5.3.5 LoG滤波器和DoG滤波器
      6. 5.3.6 基于LoG滤波器的边缘检测
      7. 5.3.7 基于PIL发现和增强边缘
    4. 5.4 图像金字塔——融合图像
      1. 5.4.1 scikit-image transform pyramid模块的高斯金字塔
      2. 5.4.2 scikit-image transform pyramid模块的拉普拉斯金字塔
      3. 5.4.3 构造高斯金字塔
      4. 5.4.4 仅通过拉普拉斯金字塔重建图像
      5. 5.4.5 基于金字塔的图像融合
    5. 小结
    6. 习题
  14. 第6章 形态学图像处理
    1. 6.1 基于scikit-image形态学模块的形态学图像处理
      1. 6.1.1 对二值图像的操作
      2. 6.1.2 利用开、闭运算实现指纹清洗
      3. 6.1.3 灰度级操作
    2. 6.2 基于scikit-image filter.rank模块的形态学图像处理
      1. 6.2.1 形态学对比度增强
      2. 6.2.2 使用中值滤波器去噪
      3. 6.2.3 计算局部熵
    3. 6.3 基于SciPy ndimage.morphology模块的形态学图像处理
      1. 6.3.1 填充二值对象中的孔洞
      2. 6.3.2 采用开、闭运算去噪
      3. 6.3.3 计算形态学Beucher梯度
      4. 6.3.4 计算形态学拉普拉斯
    4. 小结
    5. 习题
  15. 第7章 图像特征提取与描述符
    1. 7.1 特征检测器与描述符
    2. 7.2 哈里斯角点检测器
      1. 7.2.1 scikit-image包
      2. 7.2.2 哈里斯角点特征在图像匹配中的应用
    3. 7.3 基于LoG、DoG和DoH的斑点检测器
      1. 7.3.1 高斯拉普拉斯
      2. 7.3.2 高斯差分
      3. 7.3.3 黑塞矩阵
    4. 7.4 基于方向梯度直方图的特征提取
      1. 7.4.1 计算HOG描述符的算法
      2. 7.4.2 基于scikit-image计算HOG描述符
    5. 7.5 尺度不变特征变换
      1. 7.5.1 计算SIFT描述符的算法
      2. 7.5.2 opencv和opencv-contrib的SIFT函数
      3. 7.5.3 基于BRIEF、SIFT和ORB匹配图像的应用
    6. 7.6 类Haar特征及其在人脸检测中的应用
      1. 7.6.1 基于scikit-image的类Haar特征描述符
      2. 7.6.2 基于类Haar特征的人脸检测的应用
    7. 小结
    8. 习题
  16. 第8章 图像分割
    1. 8.1 图像分割的概念
    2. 8.2 霍夫变换——检测图像中的圆和线
    3. 8.3 二值化和Otsu分割
    4. 8.4 基于边缘/区域的图像分割
      1. 8.4.1 基于边缘的图像分割
      2. 8.4.2 基于区域的图像分割
    5. 8.5 基于菲尔森茨瓦布高效图的分割算法、SLIC算法、快速移位图像分割算法、紧凑型分水岭算法及使用SimpleITK的区域生长算法
      1. 8.5.1 基于菲尔森茨瓦布高效图的分割算法
      2. 8.5.2 SLIC算法
      3. 8.5.3 快速移位图像分割算法
      4. 8.5.4 紧凑型分水岭算法
      5. 8.5.5 使用SimpleITK的区域生长算法
    6. 8.6 活动轮廓算法、形态学蛇算法和基于OpenCV的GrabCut图像分割算法
      1. 8.6.1 活动轮廓算法
      2. 8.6.2 形态学蛇算法
      3. 8.6.3 基于OpenCV的GrabCut图像分割算法
    7. 小结
    8. 习题
  17. 第9章 图像处理中的经典机器学习方法
    1. 9.1 监督学习与无监督学习
    2. 9.2 无监督机器学习——聚类、PCA和特征脸
      1. 9.2.1 基于图像分割与颜色量化的k均值聚类算法
      2. 9.2.2 用于图像分割的谱聚类算法
      3. 9.2.3 PCA与特征脸
    3. 9.3 监督机器学习——基于手写数字数据集的图像分类
      1. 9.3.1 下载MNIST(手写数字)数据集
      2. 9.3.2 可视化数据集
      3. 9.3.3 通过训练KNN、高斯贝叶斯和SVM模型对MNIST数据集分类
    4. 9.4 监督机器学习——目标检测
      1. 9.4.1 使用类Haar特征的人脸检测和使用AdaBoost的级联分类器——Viola-Jones算法
      2. 9.4.2 使用基于HOG特征的SVM检测目标
    5. 小结
    6. 习题
  18. 第10章 图像处理中的深度学习——图像分类
    1. 10.1 图像处理中的深度学习
      1. 10.1.1 什么是深度学习
      2. 10.1.2 经典学习与深度学习
      3. 10.1.3 为何需要深度学习
    2. 10.2 卷积神经网络
      1. 卷积、池化或全连接层——CNN架构以及它是如何工作的
    3. 10.3 使用TensorFlow或Keras进行图像分类
      1. 10.3.1 使用TensorFlow进行图像分类
      2. 10.3.2 使用Keras对密集全连接层进行分类
      3. 10.3.3 使用基于Keras的卷积神经网络进行分类
    4. 10.4 应用于图像分类的主流深度卷积神经网络
      1. VGG-16/19
    5. 小结
    6. 习题
  19. 第11章 图像处理中的深度学习——目标检测等
    1. 11.1 YOLO v2
      1. 11.1.1 对图像进行分类与定位以及目标检测
      2. 11.1.2 使用卷积神经网络检测目标
      3. 11.1.3 使用YOLO v2
    2. 11.2 利用DeepLab v3+的深度语义分割
      1. 11.2.1 语义分割
      2. 11.2.2 DeepLab v3+
    3. 11.3 迁移学习——什么是迁移学习以及什么时候使用迁移学习
      1. 用Keras实现迁移学习
    4. 11.4 使用预训练的Torch模型和cv2实现神经风格迁移
      1. 11.4.1 了解NST算法
      2. 11.4.2 使用迁移学习实现NST
      3. 11.4.3 计算总损失
    5. 11.5 使用Python和OpenCV实现神经风格迁移
    6. 小结
    7. 习题
  20. 第12章 图像处理中的其他问题
    1. 12.1 接缝雕刻
      1. 12.1.1 使用接缝雕刻进行内容感知的图像大小调整
      2. 12.1.2 使用接缝雕刻移除目标
    2. 12.2 无缝克隆和泊松图像编辑
    3. 12.3 图像修复
    4. 12.4 变分图像处理
      1. 12.4.1 全变分去噪
      2. 12.4.2 使用全变分去噪创建平面纹理卡通图像
    5. 12.5 图像绗缝
      1. 12.5.1 纹理合成
      2. 12.5.2 纹理迁移
    6. 12.6 人脸变形
    7. 小结
    8. 习题

Product information

  • Title: Python图像处理实战
  • Author(s): Posts & Telecom Press, Sandipan Dey
  • Release date: February 2024
  • Publisher(s): Packt Publishing
  • ISBN: 9781835465615

You might also like

book

时间序列分析实战:基于机器学习和统计学

by Aileen Nielsen

天气、股票、心跳都会产生时间序列数据,物联网、数字化医疗和智慧城市的兴起更是产生了大量的时间序列数据。随着数据的规模快速增长,应用机器学习和统计方法进行时间序列分析的做法越来越普遍,也越来越重要。 本书从实战角度介绍时间序列分析中的创新技术和实际用例,帮助你结合使用传统的统计方法和先进的机器学习技术来解决时间序列分析中的常见问题。由于Python和R都是时间序列分析常用的语言,因此本书兼顾这两种语言并对时间序列进行全面的阐释,可以让数据分析师、数据工程师和其他与数据打交道的读者快速上手。 发现并整理时间序列数据 针对时间序列进行探索性数据分析 模拟时间序列 存储时间序列 为时间序列生成并选择特征 测量误差 使用机器学习和深度学习分析时间序列 评估模型的精度和性能

book

HBase管理指南

by Posts & Telecom Press, Yifeng Jiang

轻松掌握管理HBase的实用操作指南 Key Features 详尽的操作步骤 贴近实际使用的案例 内容涵盖管理HBase所需的各项技能 Book Description 本书通过详尽的操作步骤以及贴近实际使用的案例说明,帮助读者轻松掌握管理HBase所需的各项技能。本书是一部实用性很强的操作指南,主要介绍如何建立一个完全分布式的HBase集群并将数据转移到该集群中,以及如何使用各种工具来完成日常的管理工作,有效管理和监控集群以使其达到最佳的性能,最终还将讲解如何安装Hadoop集群、如何配置Hadoop,使其与HBase进行协作和如何调整Hadoop的性能。 本书适合使用HBase进行数据库开发的高级数据库研发人员阅读使用。 What you will learn 如何建立一个完全分布式的HBase集群并将数据转移到该集群中 如何使用各种工具来完成日常的管理工作 …

book

scikit-learn机器学习(第2版)

by Posts & Telecom Press, Gavin Hackeling

掌握Python机器学习的有效工具,搞定scikit-learn的必备指南 Key Features 本书内容涵盖多种机器学习模型 讨论了数据预处理、超参数优化和集成方法等主题。 Book Description 近年来,Python语言成为了广受欢迎的编程语言,而它在机器学习领域也有着卓越的表现。scikit-learn是一个用Python语言编写的机器学习算法库,它可以实现一系列常用的机器学习算法,是一个不可多得的好工具。 本书通过14章内容,详细地介绍了一系列机器学习模型和scikit-learn的使用技巧。本书从机器学习的基础理论讲起,涵盖了简单线性回归、K-近邻算法、特征提取、多元线性回归、逻辑回归、朴素贝叶斯、非线性分类、决策树回归、随机森林、感知机、支持向量机、人工神经网络、K-均值算法、主成分分析等重要话题。 本书适合机器学习领域的工程师学习,也适合想要了解scikit-learn的数据科学家阅读。通过阅读本书,读者将有效提升自己在机器学习模型的构建和评估方面的能力,并能够高效地解决机器学习难题。 What you will learn 学会构建用于文档分类、图像识别、广告检测等任务的系统 学到如何使用scikit-learn类库的API从类别变量、文本和图像中提取特征,如何评估模型的性能 …

book

Python数据分析(第2版)

by Posts & Telecom Press, Armando Fandango

学习Python编程,轻松应对大数据分析任务,掌握信号处理、时间序列、文本数据分析、机器学习等高级技能 Key Features 在本书的最后,采用3个附录的形式为读者补充了一些重要概念、常用函数以及在线资源等重要内容。 示例丰富、简单易懂 Book Description Python作为一种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。同时,Python语言的数据分析功能也逐渐为大众所认可。 本书就是一本介绍如何用Python进行数据分析的学习指南。全书共12章,从Python程序库入门、NumPy数组和Pandas入门开始,陆续介绍了数据的检索、数据加工与存储、数据可视化等内容。同时,本书还介绍了信号处理与时间序列、应用数据库、分析文本数据与社交媒体、预测性分析与机器学习、Python生态系统的外部环境和云计算、性能优化及分析、并发性等内容。在本书的最后,还采用3个附录的形式为读者补充了一些重要概念、常用函数以及在线资源等重要内容。 本书延续了上一版示例丰富、简单易懂的优点,非常适合对Python语言感兴趣或者想要使用Python语言进行数据分析的读者参考阅读。 What you will learn 使用Python处理和操作数据 完成复杂的分析和建模 …