我在检测轮廓是否为简单曲线或直线时遇到问题。我需要尽可能多地过滤对象,并只留下有趣的对象。但这并不是过滤所有不需要的对象的目标。我有更多逻辑可以稍后再检测所需的对象,但是这花费了大量时间。因此,我正在寻找一些低成本的解决方案,以便在主要算法参与其中之前过滤掉不需要的对象。
我的应用程序中有两个示例。
所以我想删除黄色标记的对象。并留下绿色标记的对象。我不会圈出所有内容,因为它们太多了:]。我的想法是,如果我可以检测到线条是否在边界框的拐角处开始和结束,但是我不知道如何检测线条的起点和终点。或者,如果我能够检测轮廓的起点和终点,则可以通过其距离来确定它。
我使用Canny边缘检测并找到轮廓。根据对象的大小,我对对象进行了一些基本过滤。
我没有想法,只能停留在这一部分。我会很高兴您的帮助或想法。
最佳答案
我发现HoughLinesP可以完成这项工作。
关于opencv - 检测轮廓是否为没有复杂图案的简单曲线,或检测轮廓的起点和终点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574759/