如何识别此图像中的矩形?
artificial-intelligence
computer-vision
graphics
machine-learning
5
0

我有一个水平和垂直线条的图像。实际上,此图片是BBC网站转换为水平和垂直线条的图片。我的问题是我希望能够找到图像中的所有矩形。我想编写一个计算机程序来查找所有矩形。有谁知道该怎么做或就如何入门提出建议?作为一个人,我很容易找到可视矩形,但是我不确定如何将其描述为程序。

图片是BBC网站, 网址为http://www.bbc.co.uk/


对此进行更新,我编写了将BBC网站图像转换为水平和垂直线的代码,问题是这些线在拐角处不完全交汇,有时它们不完全形成矩形。谢谢!

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

Opencv (用c编写的图像处理和计算机视觉库)具有霍夫变换的实现(简单的霍夫变换在图像中找到行,而广义的霍夫变换则找到更复杂的对象),因此这可能是一个好的开始。对于确实具有闭合角的矩形,还可以提供诸如cornerHarris之类的角检测器。

我运行了opencv随附的houghlines演示,这是您提供的图像上的结果(检测到的行标记为红色): 替代文字
(来源: splintec.com

收藏
评论

在计算机视觉中,有一种称为通用霍夫变换的算法可以解决您的问题。应该有实现该算法的开源代码。只是搜索它。

收藏
评论

我相信您正在寻找广义的Hough变换

收藏
评论

有几种不同的方法可以解决您的问题。我将使用像这样形态图像处理工具。您将可以灵活地定义“矩形”,即使不是“完全关闭”的对象(填充算法将失败)。

另一种可能性是使用机器学习方法,与上一个方法相比,基本上它是由数据驱动而不是定义驱动。您必须为算法提供几个矩形的“示例”,并且最终将学习(带有偏差和错误率)。

收藏
评论

假设它是一个无噪声的图像(而不是屏幕视频),那么一种简单的泛洪算法应该可以工作。您可能需要在图像上进行膨胀/腐蚀以缩小间隙。

查找线的通常方法是霍夫变换(然后以直角查找线),Opencv是最简单的方法。

看看这个问题OpenCV对象检测-中心点

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号