当然还有相邻两条直线的拼接或者长度要超过某个阈值的直线才需要输出的问题,这些就要看怎么去实现了,不是我们这篇文章的要点,这些功能在 opencv 中都有实现,需要的可以去了解。我们可以取需要检测的图像上的 N 个点,为每个点假设 n 个方向的直线(空间中经过一个点的直线有无数条),通常 n = 180 ,分别计算这 n 条直线的。与上面检测直线的原理一样,要检测三个点是否在同一个圆上,首先计算过第一个点的所有圆表示为。的轨迹便如图中的一个圆锥,三个点的所有圆表示形成的圆锥的交点 A 所对应的那个。