Johanna Pingel,Mathworks
边缘检测是一种常见的图像处理技术,并且可用于各种应用,例如图像分割,对象检测和Hough行检测。使用MATLAB中的“边缘”功能有效地使用边缘检测®,并探索不同的可用参数。
边缘检测是用于在图像中找到对象的边界的图像处理技术。它通过检测图像内的亮度的变化而工作。除了创建一个有趣的图像外,边缘检测可以是图像分割的大预处理步骤。
如果您有具有边缘创建的对象的边界,则可以填充它以检测对象的位置。如果您有两个互相触摸的对象,则可以找到边缘并使用该信息分隔对象。您还可以使用边缘基于纹理查找对象,在基于颜色的分段可能无法良好工作的某些情况下找到对象。
因此,让我们来看看如何在Matlab中使用边缘作为图像预处理技术的详细示例。目标是使用边缘检测车库门上的所有窗口。让我们首先搜索文档。
我很快就学习了一个名为Edge的图像处理工具盒中的功能,在我的图像上执行边缘检测。我可以简单地调用边缘,或者如果我想要更多的控制,我可以选择边缘检测方法。所以让我们尝试一些这些方法在我们的形象上,看看它们是如何执行的。
我会首先尝试prowitt方法,然后是roberts然后sobel,而且我想并排可视化这些差异。如果我放大并查看这些结果中的差异,我可以看到这些方法之间的微妙变化,特别是在角落中,这可能具有填充这些正方形并找到窗口的效果。
现在,我想填充这些图像中的所有孔并比较这些结果。由于边缘检测算法的差异,一些窗口不会填充。但我看到最后一个算法确实填充了所有孔,因此这将是我选择解决这个特定问题的方法。
只是为了快速完成算法,我想拍摄我的图像并删除除Windows之外的所有内容。使用我们的图像处理应用程序非常简单。我使用一个名为图像区域分析器的应用程序,以基于某些属性过滤掉对象 - 在这种情况下,大小和稳定性。
我强烈建议在“图像处理”工具框中查看我们的所有图像处理应用程序。最后,我可以显示边缘检测结果。首先,显示原始图像,然后显示Windows灰色,证明我们已成功检测到图像中的所有窗口。
最后一个提示 - 如果您正在尝试使用边缘检测,并且您无法获得您期望的结果,还有其他参数可以改变,一个流行的一个是灵敏度。使用默认灵敏度,我们仍然缺少猫头鹰的很多右侧。但我可以快速增加并降低敏感性并可视化这些结果。
较低的灵敏度给了我所有我需要向前移动的边缘。要了解更多关于边缘检测的信息,请单击链接以将您带到MATLAB中的更多示例和文档。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。