第6章 形态学图像处理

在本章中,我们将讨论数学形态学和形态学图像处理。形态学图像处理是一组与图像中特征的形状或形态相关的非线性操作集合。虽然这些操作可以扩展到灰度图像,但它们尤其适用于二值图像的处理(其中像素表示为0或1,由约定,对象的前景 = 1或白色,背景 = 0或黑色)。

在形态学运算中,使用一个结构元素(一个小模板图像)来探测输入图像。该算法的工作原理是将结构元素定位在输入图像中所有可能的位置,并用集合算子将其与像素的相应邻域进行比较。一些操作测试元素是否与邻域相匹配,而另一些操作测试元素是否与邻域相匹配或相交。常用的形态学运算或滤波器有二值图像的膨胀和腐蚀、开运算和闭运算、骨架化、形态边缘检测器等。

本章将演示如何在二值图像和灰度图像上使用形态学运算或滤波器,以及它们的应用程序,使用scikit-imagescipy.ndimage.morphology模块。

本章主要包括以下内容:

  • 基于scikit-image形态学模块的形态学图像处理;
  • 基于scikit-image filter.rank模块的形态学图像处理;
  • 基于scipy.ndimage.morphology模块的形态学图像处理。

在本节中,我们将演示如何使用scikit-image形态学模块中的函数来实现一些形态学运算,首先是对二值图像的形态学操作,然后是对灰度图像的形态学操作。

我们先介绍二值图像的形态学操作,在调用函数之前需要创建一个二值输入图像(例如,使用具有固定阈值的简单阈值设置)。

1.腐蚀

腐蚀(erosion)是一种基本的形态学操作,它可以缩小前景对象的大小,平滑对象边界,并删除图形和小的对象。如下代码展示了如何使用 ...

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.