近似线到平面图轮廓

Posted

技术标签:

【中文标题】近似线到平面图轮廓【英文标题】:Approximating Lines to Floor plan contours 【发布时间】:2014-05-22 06:23:23 【问题描述】:

我正在使用 OpenCV-C++ 和 1) 我想使用 findContours 仅通过水平或垂直线而不是曲线来近似检测到的轮廓,就像在平面图中一样。那么你能建议一个相同的方法吗?

2) 有没有办法移除较小的轮廓,例如树的边框,可以自动处理每张图像,因为使用 findContours() 移除较小的区域会导致消除尺寸较小的墙壁。

http://property.magicbricks.com/microsite/buy/provident-welworth/floor-plan.html

【问题讨论】:

改用HoughLines 可能会更好。 @RogerRowland 我们不能使用 HoughLines,因为轮廓被破坏了,并且像窗户和水池这样的结构附着在墙上,它们有点从线条延伸出来,破坏了它的直线度。 【参考方案1】:

您在哪种图像上使用查找轮廓?我假设你确实遵循了这个例子.. findContour example 如果不是,请澄清。 但是,为什么不首先尝试使用相应的过滤器找到所有水平和垂直边缘呢?之后,您仍然可以尝试使用 findContours 函数查找轮廓。或者你可以使用霍夫变换,也可以在 opencv 中使用。 hough lines 在霍夫线内,您可以轻松消除较小的线段。

对于 2) 你所说的树边界是什么意思?你的意思是图像上一棵树的轮廓?如果您能提供示例图像,那将非常有帮助。

干杯

【讨论】:

这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 好的,抱歉。但我不被允许评论,因为我没有足够的声誉。我想我可以给他一些关于如何解决他的问题的提示。 对不起,我不是故意让你听起来像一个冲洗器或劝阻你,SO 审查小组在标记事物时会自动添加该评论。你应该努力建立更多的代表,这样你就可以发表评论了。 我有三张图片中的任何一张的平面图。property.magicbricks.com/microsite/buy/provident-welworth/…我已经找到了墙壁的轮廓。但由于它是光栅图像,轮廓可以在 L 形角处混合形成曲线。因此,由于平面图仅由水平线和垂直线组成。我想只用水平线和垂直线来映射这些曲线。

以上是关于近似线到平面图轮廓的主要内容,如果未能解决你的问题,请参考以下文章

GPROF 平面轮廓空结果

为啥我的CAD不能将实体转化成平面轮廓图

Matlab计算曲面的切平面

应用运筹学基础:组合优化 - 近似算法选讲

平面GLS的曲面近似值。

点到平面距离公式是啥?