gpt4 book ai didi

python - 如何从边缘检测图像中找到多边形顶点?

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:23 26 4
gpt4 key购买 nike

<强>1。问题

鉴于房屋屋顶的图像,我试图找到屋顶的轮廓。我已经标记了可用的数据(作为多边形顶点),我对其进行插值并创建如下所示的真实图像 ground truth from annotations

我使用 canny、hough-lines、LBP 特征来训练 ML 模型,结果看起来不错。模型输出显示在中间,测试图像上的叠加显示在右侧。

left original image, middle Model output, right: Output over-layed to original image

<强>2。我需要什么。

最终输出实际上应该是一组多边形,我需要找到应该绘制这些多边形的点(请参见下图中突出显示的点)。所以输出可以是n条线段的集合。其中每条线段是 2 个点 [(x1,y1),(x2,y2)]

marked image with vertices coded in color

<强>3。我的想法/想法是什么;

a.腐 eclipse 、膨胀、开运算、闭运算、骨架化操作

虽然这些操作使上图中的线条更加整齐,但它们并不能帮助我找到我正在寻找的多边形顶点。

我想将(多条)线拟合到图像中的白色像素(类似于霍夫线)。

这些线的交点将为我提供我正在寻找的多边形的顶点。

我想知道是否有更标准/更好的方法来完成上述任务。

最佳答案

我认为HoughLinesP将帮助您实现目标。它将找到线段并将其输出为向量 [x1,y1,x2,y2]其中 (x,y) 对表示线段的起点和终点。

每个顶点应靠近 2 条或更多线段的末端。您遍历每个端点并计算它们出现的次数。处理完所有点后,您可以消除出现次数少于 2 次的点。当然,您需要一些小阈值来确定点是否唯一,因为某些伪代码行中的间隙:dist(point1, point2) < some_delta_threshold

我不确定此时您将如何找到多边形,但希望这能提供一些帮助

关于python - 如何从边缘检测图像中找到多边形顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38828143/

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