Algorithm 基于点位置或图像的角点检测

Algorithm 基于点位置或图像的角点检测,algorithm,image-processing,dxf,corner-detection,Algorithm,Image Processing,Dxf,Corner Detection,我有一些简单的形状,这些形状不一定是规则的。 我需要一个算法来找到它们的角点,实际上我想把它们的点汇总到最小值,以dxf格式保存它们,并在数组中找到它们的点位置。 像harris或surf这样的简单算法找不到合适的点,结果返回太多的点。 你能帮我用算法、想法或代码来解决这个问题吗?(在c、c、java等语言中)或图像处理 提前感谢。您想要实现的是多边形矢量化 首先,您需要应用轮廓跟踪算法来获得序列中的像素。在这种情况下,简单地将像素链接到它们的邻居就可以了(注意,在您的示例中,一些形状是开放的

我有一些简单的形状,这些形状不一定是规则的。

我需要一个算法来找到它们的角点,实际上我想把它们的点汇总到最小值,以dxf格式保存它们,并在数组中找到它们的点位置。 像harris或surf这样的简单算法找不到合适的点,结果返回太多的点。 你能帮我用算法、想法或代码来解决这个问题吗?(在c、c、java等语言中)或图像处理
提前感谢。

您想要实现的是多边形矢量化

首先,您需要应用轮廓跟踪算法来获得序列中的像素。在这种情况下,简单地将像素链接到它们的邻居就可以了(注意,在您的示例中,一些形状是开放的,您可能需要将邻居扩展到两到三个像素

然后通过Douglas Peucker算法()或类似方法检测长直边

你的一些角是钝的,你可能想纠正它们。我建议放弃形成平面角的短段序列,并连接相邻的长段以恢复方形角

不要期望“完美”的结果