边缘检测

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

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

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

  • 强度的二阶导数有过零点的地方

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

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

检测图像中的边缘

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

读取图像并显示它。

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

将Sobel和Canny边缘检测器应用于图像,并显示它们进行比较。

BW1 =边缘(我“索贝尔”);BW2 =边缘(我“精明”);图;imshowpair (BW1 BW2,“蒙太奇”)标题(" Sobel Filter Canny Filter ");