opencv - 检测轮廓是否为没有复杂图案的简单曲线,或检测轮廓的起点和终点

标签 opencv feature-detection

我在检测轮廓是否为简单曲线或直线时遇到问题。我需要尽可能多地过滤对象,并只留下有趣的对象。但这并不是过滤所有不需要的对象的目标。我有更多逻辑可以稍后再检测所需的对象,但是这花费了大量时间。因此,我正在寻找一些低成本的解决方案,以便在主要算法参与其中之前过滤掉不需要的对象。

我的应用程序中有两个示例。


所以我想删除黄色标记的对象。并留下绿色标记的对象。我不会圈出所有内容,因为它们太多了:]。我的想法是,如果我可以检测到线条是否在边界框的拐角处开始和结束,但是我不知道如何检测线条的起点和终点。或者,如果我能够检测轮廓的起点和终点,则可以通过其距离来确定它。

我使用Canny边缘检测并找到轮廓。根据对象的大小,我对对象进行了一些基本过滤。

我没有想法,只能停留在这一部分。我会很高兴您的帮助或想法。

最佳答案

我发现HoughLinesP可以完成这项工作。

关于opencv - 检测轮廓是否为没有复杂图案的简单曲线,或检测轮廓的起点和终点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574759/

相关文章:

python - 开发Dilbert卡通图像分类算法的一般方法

c++ - 在 OpenCV 中分配矩阵元素

c++ - SurfDescriptorExtractor/featureDetector - IOS 中的 OpenCv

c++ - 当我尝试使用 tbb 并行我的程序时出现段错误

matlab - 如何在 python-opencv 中获得 rgb2ycbcr() matlab 函数的相同输出?

image - 主动外观模型 (AAM) 与主动形状模型 (ASM)

machine-learning - 在逻辑回归中混合二元和非二元特征

machine-learning - 识别标志(品牌)的图像识别技术

java - 如何修复 opencv 中的 NullPointerException

python - 在 OpenCV 中测量边缘强度,梯度大小