确定"切向四边形"来自OpenCv的4分

时间:2017-07-09 16:25:29

标签: opencv geometry

我尝试做的是使用OpenCv从4分中获得tangential quadrilateral

我尝试了一种方法,我只取四个点的中心并添加一个圆圈。但这并非总是如此。此外,很难确定圆的半径。

很快:切向四边形是一个完全位于正方形内的圆。 e.g:

enter image description here

来源:https://commons.wikimedia.org/wiki/File:Tangentenviereck.svg CC BY-SA 4.0

OpenCv中有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果你有4个点A,B,C,D你肯定已经有四边形(四边多边形)。

不能保证这个切线是切向的 - 只有当相反边长的总和相等时才是真的。

如果你真的有切向切线的顶点 - 找到边a,b,c,d和对角线p,q的长度并获得圆周半径as

r = Sqrt(4*p^2*q^2-(a^2-b^2+c^2-d^2)^2)) / (2*(a+b+c+d))

在维基页面有很多内环中心的公式,但是我使用三角法 - 得到A角的平分向量作为归一化AB和AD向量的和,将其归一化,乘以长度| AM | = r / tg(A / 2)并将结果向量添加到A。

请注意,OpenCV是用于图像处理的库,而不是用于几何计算。