边缘检测
在图像中,边是沿着图像强度的快速变化路径的曲线。边缘通常与场景中物体的边界相关联。边缘检测用于识别图像中的边缘。
要找到边,可以使用边缘
函数。这个函数使用以下两个标准之一来寻找图像中强度变化迅速的地方:
在强度的一阶导数大于某个阈值的地方
在强度的二阶导数有零交叉点的地方
边缘
提供几个导数估计器,每个估计器实现这些定义中的一个。对于其中一些估计器,您可以指定操作是否应该对水平边、垂直边或两者都敏感。边缘
返回一个二值图像,其中边的位置为1,其他位置为0。
最强大的边缘检测方法是边缘
提供的是Canny方法。Canny方法不同于其他边缘检测方法,它使用两个不同的阈值(检测强边缘和弱边缘),只有当弱边缘连接到强边缘时,才会在输出中包含弱边缘。因此,该方法比其他方法更不容易受到噪声的影响,更容易检测到真正的弱边缘。
检测图像中的边缘
这个例子展示了如何使用Canny边缘检测器和Sobel边缘检测器来检测图像中的边缘。
将图像读入工作空间并显示它。
我= imread (“coins.png”);imshow(我)
对未经滤波的输入图像应用索贝尔边缘检测器。然后,应用Canny边缘检测器对未经滤波的输入图像。
BW1 =边缘(我“索贝尔”);BW2 =边缘(我“精明”);
并排显示过滤后的图像进行比较。
tiledlayout(1,2) nexttile imshow(BW1)“索贝尔过滤”nexttile imshow(BW2) title(“精明的过滤”)