从一组 x,y 点中找出 "outer" 个角点

Find out "outer" corners from set of x,y points

我需要一些帮助来定义一组检测到的角点的 "outer" 个角点。

我在 javascript 中实现了霍夫变换,以检测具有透视变形矩形的图像中的线条。经过一些过滤,留下最合理的线,我计算了它们的交点。结果是我有一组点,它们可能是已识别的透视变形矩形的一个角(见图):具有多个交点的多条线。

我现在想做的是确定实际的角点,方法是检查哪个是透视变形矩形的最 "outer" 角。对于外角,我指的是我们人类会认为是 "most top left" 或 "most bottom right".

的角

我已经尝试获取最接近图像角点的形状角点,但由于透视的极端情况,这些角点并不总是最多 "outer" 个。

我觉得一个凸包可以解决这个问题,正如Mbo在评论中所说的

您可以建造 convex hull 来减少一些潜在的角点。