gpt4 book ai didi

algorithm - 从图像中提取稳健的线

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:33:18 24 4
gpt4 key购买 nike

我需要从下图中提取所有墙边(包括地板、墙的交点和墙、门的交点)。如果我使用 canny 检测和霍夫变换(概率)。它给了我很多多余和不必要的台词。我正在寻找是否可以在对 canny 图像运行 hough 变换之前对其进行优化。

输入图像 Input Image

下面是canny检测算法给出的canny图像
我使用 canny 参数作为最小和最大阈值的 0,20。我不能为最大阈值使用非常高的值,否则我会丢失墙边,但与图像的其余部分相比,那里的梯度会很低。
Normal Canny Image

我想在一个窗口中识别一个高密度的点簇,如果它高于某个阈值,则将它们设置为零。

下面是之后得到的canny图像。您可以看到墙的边缘被保留了下来。 Modified Canny Image

谁能建议我一个更好的方法来处理这个问题?我的意思是改进精明的图像,以便我可以识别随机点的集群并摆脱这些但将它们设置为零。我正在考虑检查窗口中的共线点,但不知道效果如何?欢迎任何评论

最佳答案

我认为在使用霍夫变换后,您可以过滤掉最长的和几乎垂直的线。看看这个 link .

SimpleCV 只是一个包含OpenCV 函数的快捷方式库,您不需要使用它。我不认为你在得到想法后在实现算法时会遇到问题。

编辑:好的,我对你的问题考虑得更多了。将集群设置为零作为预处理步骤实际上还不错。逐步增加窗口大小怎么样?我的意思是在获得第二张图像后,应用另一个具有 2* 窗口大小、相同阈值的群集过滤器。我想你可以这样继续下去,因为墙的边缘很难被抵消。

另一种方法,使用矩形窗口(宽度 >= 5*高度)进行聚类过滤,因为您需要垂直边缘。

另一种方法,使用腐 eclipse 和膨胀来过滤掉大面积的 Blob 。

另一种方式,查看图像的顶部,只有墙壁边缘和枝形吊灯。您可以水平搜索白色图案,然后跟随其邻居指定连接点的长度。然后过滤掉较长的。

关于algorithm - 从图像中提取稳健的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17221842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com