【问题标题】:Detecting quadrilateral shapes from random set of lines segments从随机线段集合中检测四边形
【发布时间】:2012-10-31 09:58:02
【问题描述】:

附图是Opencv 2.4.2的霍夫变换的输出

您能否建议我用最好的算法从这些线段中检测出最好的四边形(不总是矩形)形状

即使有些角落会位于图像边界之外,我仍然需要检测它们

非常感谢

【问题讨论】:

  • 您需要定义“最佳”。是最大的吗?如果是这样,按周长还是按面积?它是最概括的吗?即最小的间隙等。
  • 一个很好的建设性问题,但我对此一无所知:(
  • 好问题,对答案非常感兴趣!

标签: image-processing opencv artificial-intelligence shapes hough-transform


【解决方案1】:

没有时间实际尝试这个,我可以想象这样的图像:

  1. 遍历所有线并计算斜率。
  2. 按斜率对线条进行排序
  3. 如果两条线的斜率大致相似,它们要么是平行的,要么是同一条线,其中有一个间隙(例如,左侧几乎垂直的线)。要弄清楚哪个,计算它们将在哪里截取 x 或 y 轴。如果它们在同一点截取,则它们是同一条线,应合并为一条线。如果不是,请将它们放在一组(大致)平行线上。
  4. 将每组平行线与其他组进行比较,并计算它们是否相交(可能在屏幕外)。
  5. 应用一些依赖于应用程序的标准来挑选最佳的。

这个运行时间很大程度上取决于检测到的线数和平行线组的数量。您可以通过仅考虑具有最小长度的线、使用将线视为平行的阈值等来改进一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 2016-10-11
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多