第8章 图像分割
本章将讨论图像处理中的一个关键概念,即图像分割。首先介绍图像分割的基本概念;然后继续讨论几种不同的图像分割技术,及其在scikit-image
和python-opencv(cv2)
库函数中的实现。
本章主要包括以下内容:
- 图像分割的概念;
- 霍夫变换——检测图像中的圆和线;
- 二值化和Otsu分割;
- 基于边缘/区域的图像分割;
- 基于菲尔森茨瓦布高效图的图像分割算法、简单线性迭代聚类算法、快速移位图像分割算法、紧凑型分水岭算法及使用Simple ITK的区域生长算法;
- 活动轮廓算法、形态学蛇算法和基于OpenCV的GrabCut图像分割算法。
8.1 图像分割的概念
图像分割(image segmentation)是将图像分割成不同的区域或类别,并使这些区域或类别对应于不同的对象或对象的部分。每个区域包含具有相似属性的像素,并且图像中的每个像素都分配给这些类别之一。一个好的图像分割通常指同一类别的像素具有相似的强度值并形成一个连通区域,而相邻的不同类别的像素具有不同的值。这样做的目的是简化或改变图像的表示形式,使其更有意义、更易于分析。
如果分割做得好,那么图像分析的所有其他阶段将变得更简单。因此,分割的质量和可靠性决定了图像分析是否成功。但是如何将图像分割成正确的片段通常是一个非常具有挑战性的问题。
分割技术可以是非上下文的(不考虑图像中特征和组像素之间的空间关系,只考虑一些全局属性,例如颜色或灰度),也可以是上下文的(另外利用空间关系,例如对具有相似灰度级的空间封闭像素分组)。在本章中,我们将讨论不同的分割技术,并使用scikit-image
、python-opencv
(cv2
)和SimpleITK
库函数演示基于Python的图像分割实现。为此,首先导入本章所需的库,如下面的代码所示: ...
Get Python图像处理实战 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.