在 LabView 中寻找从二进制图像中提取线网络的算法

信息处理 计算机视觉
2022-02-20 07:45:03

我想创建一个 LabView VI,它接收输入图像和图像中描绘的电力线的 RGB 颜色代码。输出应该(最终)由 id'd 多边形连接及其坐标组成。

现在我已经完成了创建一个将源图像转换为二进制图像的VI,并将相应的线条颜色类型提取到二进制图像中(见下文)。

我一直在尝试应用 LabView Vision 提供的一些边缘/线查找 VI,但结果并不是很有说服力。

我考虑过实现某种矢量化算法,例如“使用迭代总最小二乘法进行直线提取”,甚至是某种线性行走和映射算法,但在我这样做之前,我想知道是否已经有某种拟合算法。

您可以在附件中找到源图像和二进制图像的示例。

提前感谢您的意见!

源图像(在这种情况下是波兰的片段) 提取的绿线的二值图像 提取红线的二值图像

1个回答

提取边缘的首选算法是将图像转换为适当的霍夫空间幸运的是,用于提取直线的 Hough 变换是记录最好的变换之一。

看起来这些人可能有一个您可以使用的 LabVIEW 霍夫变换实现。如果不是,它是一个非常有据可查的算法,您可以尝试推出自己的算法或尝试集成其他语言的实现,例如:MatLabOpenCV

通过适当的霍夫变换,您将能够从图像中提取线段(转换为二进制图像是一个很好的开始)。这些线段可能无法完美连接,具体取决于您的线有多直以及您的图像有多清晰,您可能需要更多地处理向量以获得您想要的结果。