Johanna Pingel,MathWorks
边缘检测是一种常见的图像处理技术,可用于图像分割、目标检测和Hough线检测等多种应用。利用MATLAB中的边缘函数有效地进行边缘检测®,并探讨不同的可用参数。
边缘检测是一种在图像中寻找物体边界的图像处理技术。它通过检测图像中亮度的变化来工作。除了创建有趣的图像外,边缘检测也是图像分割的一个重要预处理步骤。
如果使用边创建对象的边界,则可以填充该边界以检测对象的位置。如果有两个相互接触的对象,则可以找到边并使用该信息来分隔对象。在某些情况下,基于颜色的分割可能会出现,也可以使用边基于纹理查找对象不太好用。
让我们来看一个详细的例子,说明如何在MATLAB中使用边缘作为图像预处理技术。目标是使用边缘检测车库门上的所有窗口。让我们从搜索文档开始。
我很快就了解到图像处理工具箱中有一个名为Edge的函数,它对我的图像执行边缘检测。我可以简单地调用Edge,或者如果我想要更多的控制,我可以选择边缘检测的方法。让我们在图片上尝试一下这些方法,看看它们的性能如何。
我会先用Prewitt法然后是Roberts法,然后是Sobel法,我想把这些区别放在一起。如果我放大并查看这些结果的差异,我可以看到这些方法之间的微妙变化,特别是在角落,这可能会对填充这些正方形和找到窗口有影响。
现在,我想填补这些图像中的所有漏洞,并比较这些结果。由于边缘检测算法的不同,有些窗口没有被填满。但我发现最后一个算法确实填补了所有的漏洞,所以我将选择这个方法来解决这个特殊的问题。
为了快速完成算法,我想把我的图像和删除除窗口以外的所有东西。这个任务是非常容易与我们的图像处理应用程序之一。我使用了一款名为Image Region Analyzer的应用程序,根据特定的属性过滤掉对象——在本例中,是大小和坚固度。
我强烈建议您在图像处理工具箱中查看我们所有的图像处理应用程序。最后,我可以展示边缘检测的结果。首先,显示原始图像,然后显示灰色窗口,证明我们已成功检测到图像中的所有窗口。
最后一个提示——如果你正在试验边缘检测,但没有得到预期的结果,那么还有其他参数可以更改,一个流行的参数是灵敏度。使用默认敏感度,我们仍然缺少owl的许多右侧。但我可以快速增加和降低灵敏度,并将这些结果可视化。
较低的灵敏度给了我向前移动所需的所有边。要了解更多关于边缘检测的信息,请点击链接查看MATLAB中的更多示例和文档。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。