【发布时间】:2014-01-22 22:14:35
【问题描述】:
正如您在图片中看到的,我的图片包含很多行。如何使用 matlab 获得最长的行,然后删除其他行?
【问题讨论】:
-
看来划界的时间不是最长的。这条线不连续。
正如您在图片中看到的,我的图片包含很多行。如何使用 matlab 获得最长的行,然后删除其他行?
【问题讨论】:
首先,正如 Lokesh A. R. 所提到的,您想要的图像中的线条不是最长的,因为它不是连续的。
如果你真的想找到那条线,那么看看dilation,它会扩大线,导致线中的小断点连接,然后将线减小到相同的粗细。但是,这可能会连接您不想连接的线,并且可能不可靠,除非图像中的线相距足够远。
如果你真的只想要最长的线,那么我会建议一种算法(你必须编写代码)
这是用于检测图像中对象的基本算法,matlab 可能可以执行此步骤。查看object detection 上的 mathworks 页面,看看它是否可以“检测”图像中的线条并为您提供有关它们的统计信息(例如每个像素的数量)
【讨论】:
在这里,阅读:http://www.mathworks.com/help/images/ref/houghlines.html
应该基本上回答你的问题。 HoughLines 是一种比较常用的线检测方法。
【讨论】: