从一组 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 来减少一些潜在的角点。
我需要一些帮助来定义一组检测到的角点的 "outer" 个角点。
我在 javascript 中实现了霍夫变换,以检测具有透视变形矩形的图像中的线条。经过一些过滤,留下最合理的线,我计算了它们的交点。结果是我有一组点,它们可能是已识别的透视变形矩形的一个角(见图):具有多个交点的多条线。
我现在想做的是确定实际的角点,方法是检查哪个是透视变形矩形的最 "outer" 角。对于外角,我指的是我们人类会认为是 "most top left" 或 "most bottom right".
的角我已经尝试获取最接近图像角点的形状角点,但由于透视的极端情况,这些角点并不总是最多 "outer" 个。
- 检测到的线几乎从不平行
- 图像是用户输入的,因此变形矩形的位置、旋转和透视可以是任何东西
我觉得一个凸包可以解决这个问题,正如Mbo在评论中所说的
您可以建造 convex hull 来减少一些潜在的角点。