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

Lua游戏AI开发指南

by Posts & Telecom Press, David Young

利用Lua编程开发专注于动作、动画和战术的游戏AI Key Features 本书循序渐进,从学习移动一个简单物体开始,到实现一个带有完整动画的战士 本书首先介绍AI沙箱,然后依次介绍、实现和扩展了游戏AI的各个新领域 本书介绍一些开源库,如Ogre3D、Bullet物理引擎、OpenSteer、Recast、Detour以及Lua 利用一个可以扩展和运行的完整代码库来创建AI沙箱。 Book Description 游戏AI可以很容易地拆分成决策制定、动画处理和战术等各种组件,但各个系统间的平衡和交互决定了良好的AI和糟糕的AI之间的区别。 本书首先介绍AI沙箱,然后依次介绍、实现和扩展了游戏AI的各个新领域。更进一步,读者还将学习使用一些开源库,如Ogre3D、Bullet物理引擎、OpenSteer、Recast、Detour以及Lua,并利用一个可以扩展和运行的完整代码库来创建AI沙箱。本书采用一种循序渐进的方法,从学习移动一个简单物体开始,到实现一个带有完整动画的战士。学习完本书,你的AI将能够导航、寻路、管理动画回放、彼此交流并能感知它所处的环境。 如果你是游戏开发者,或者是一位想专注于实现自己的游戏AI系统和技术,而又不想创建游戏引擎的底层接口的普通程序员,这本书正是为你量身打造的。C++语言知识对于调试整个AI沙箱和扩展本书提供的功能十分有用,但并非必需的。 What you will learn …

book

自然语言处理与计算语言学

by Posts & Telecom Press, Bhargav Srinivasa-Desikan

Python开源社区资深供稿人撰写 文本分析实用指南 计算语言学领域为数不多的作品之一 技术实用性强 侧重于技术细节的实现 提供源码下载 Key Features 平衡了理论与实战案例之间的关系 在掌握理论知识的同时,执运行自己的自然语言处理项目 Book Description 自然语言处理是一门融语言学、计算机科学、数学于一体的科学,研究人与计算机之间用自然语言进行有效通信的各种理论和方法。计算语言学是指通过建立形式化的数学模型来分析、处理自然语言,并在计算机上用程序来实现分析和处理的过程,旨在以机器来模拟人的部分或全部语言能力的目的。 本书作为一本借助于Python编程语言以及各种开源工具(如Gensim、spaCy等)来执行文本分析、自然语言处理和计算语言学算法的图书,从应用层面介绍了相关的理论知识和所涉及的技术。《自然语言处理与计算语言学》共分为15章,其内容涵盖了文本分析的定义、使用Python进行文本分析的技巧、spaCy语言模型、Gensim工具、词性标注及其应用、NER标注及其应用、依存分析、主题模型、高级主题建模、文本聚类和文本分类、查询词相似度计算和文本摘要、词嵌入、使用深度学习处理文本、使用Keras和spaCy进行深度学习、情感分析与聊天机器人的原理介绍等。 本书很好地平衡了理论与实战案例之间的关系,因此你可以在掌握理论知识的同时,执运行自己的自然语言处理项目。你将发现Python这一自然语言处理工具所具有的丰富的生态系统,并将进入现代文本分析的有趣世界。 本书适合对自然语言处理的实现细节感兴趣的Python程序开发人员阅读。如果读者具备统计学的基本知识,对学习本书内容会大有裨益。 …

book

深度学习实战手册(R语言版)

by Posts & Telecom Press, PKS Prakash, Achyutuni Sri Krishna Rao

使用TensorFlow、H2O和MXNet解决复杂的神经网络问题,全彩印刷 Key Features 本书的结构简单明了,每部分由准备环节、动手操作和工作原理组成,可强化读者的学习 覆盖了深度学习领域常见的神经网络类型,并介绍了使用场景 包含大量实用的示例代码,方便读者应用到实际项目中。 Book Description 深度学习是当前的热门,它是机器学习的一部分。在庞大而复杂的数据应用中,深度学习取得的效果非常吸引人。同时,R编程语言在数据挖掘人员和统计人员当中非常流行。 本书介绍使用 R 语言和深度学习库 TensorFlow、H2O 和 MXNet 构建不同的深度学习模型的方法和原理。本书共 …

book

Web机器学习

by Posts & Telecom Press, Andrea Isoni

全面Python机器学习的图书; 学会在Web下构建机器学习系统的权威指南。 Key Features 重点讲解在Web应用中实现预测分析功能的难点,介绍Python语言及相关框架、工具和库,展示如何搭建机器学习系统 不仅涉及机器学习的核心概念,还介绍如何将数据部署到用Django框架开发的Web应用,包括Web、文档和服务器端数据的挖掘和推荐引擎的搭建方法 Book Description Python是一门通用型编程语言,也是一门相对容易学习的语言。因此,数据科学家在为中小规模的数据集制作原型、实现可视化和分析数据时,经常选择使用Python。 本书填补了机器学习和Web开发之间的鸿沟。本书重点讲解在Web应用中实现预测分析功能的难点,重点介绍Python语言及相关框架、工具和库,展示了如何搭建机器学习系统。你将从本书学到机器学习的核心概念,学习如何将数据部署到用Django框架开发的Web应用;还将学到如何挖掘Web、文档和服务器端数据以及如何搭建推荐引擎。 随后,你将进一步探索功能强大的Django框架,学习搭建一个简单、具备现代感的影评情感分析应用,它可是用机器学习算法驱动的! 本书是写给正努力成为数据科学家的读者以及新晋的数据科学家的。读者应该具备一些机器学习经验。如果你对开发智能(具备预测功能的)Web应用感兴趣,或正在从事相关开发工作,本书非常适合你。掌握一定的Django知识,学习本书将会更加轻松。我们还希望读者具备一定的Python编程背景和扎实的统计学知识。 What you will learn …