我有一种算法,它只需经过多个角并找到平行的角。如下所示,我的问题是我有时会得到假阳性结果。
为了消除这一点,我将检查两个点是否都落在一条单独的高音线上,但这会占用大量计算资源,我想知道是否有人有任何更简单的想法。
谢谢。
最佳答案
根据评论确定,应该可以修复。当您检测到一对平行线时,使用您用来构造它的两个角来获得直线方程。该行的形式可以为y = mx + c
。然后针对两点之间的每个y
坐标,计算x
坐标。这为您提供了线段覆盖的所有像素的集合。浏览这些像素,并检查每个像素的强度是否比白色更接近黑色。如果集合中的大多数像素为黑色,则为一行。如果不是,则可能是非线性的。