主要内容

边缘检测

在图像中,边缘是沿着图像强度快速变化路径的曲线。边缘通常与场景中物体的边界联系在一起。边缘检测用于识别图像中的边缘。

要找到边,你可以用边缘函数。这个函数使用以下两个标准中的一个来寻找图像中强度变化迅速的地方:

  • 强度的一阶导数大于某个阈值的地方

  • 强度二阶导数交点为零的地方

边缘提供几个导数估计器,每一个都实现这些定义中的一个。对于其中的一些估计器,您可以指定操作是否应该对水平边、垂直边或两者都敏感。边缘返回一个二值图像,其中边值为1,边值为0。

最强大的边缘检测方法边缘提供是Canny方法。Canny方法与其他边缘检测方法的不同之处在于,它使用了两个不同的阈值(用于检测强边缘和弱边缘),并且只有弱边缘与强边缘相连时才将弱边缘包含在输出中。因此,该方法比其他方法更不容易受到噪声的影响,更容易检测到真实的弱边缘。

图像边缘检测

这个例子展示了如何使用Canny边缘检测器和Sobel边缘检测器检测图像中的边缘。

将图像读入工作区并显示它。

我= imread (“coins.png”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将Sobel边缘检测器应用于未过滤的输入图像。然后,将Canny边缘检测器应用于未过滤的输入图像。

BW1 =边缘(我“索贝尔”);BW2 =边缘(我“精明”);

并排显示过滤后的图像进行比较。

inshow (BW1) title(“索贝尔过滤”) nexttile imshow(BW2) title(“精明的过滤”

图中包含2个轴对象。标题为Sobel Filter的轴对象1包含一个类型为image的对象。Canny Filter包含一个类型为image的对象。