2017-07-09 75 views
0

私がしようとしているのは、OpenCvを使って4点からtangential quadrilateralを得ることです。OpenCvで4点から「接線四辺形」を決定

私は4点の中心をとり、円を追加するアプローチを試みました。しかし、これは必ずしも真実ではありません。さらに、円の半径を決定することは非常に困難です。

まもなく:接線四辺形は、完全に正方形の中にある円です。例えば:

enter image description here

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

は、このためのOpenCVで方法はありますか?

+1

「四角形は円です」 - HUH?ちょっと混じった定義があるようです。黒いものは四辺形で、青いものは円です(この場合は内接円)。 |つまり、あなたが知っているイメージの中で、何を計算しようとしているのかを詳しく説明する必要があります。 (あなたは「A B C D」を知っていて、「M」と「R」を見つけたいと思うでしょう) –

答えて

2

4点A、B、C、Dをお持ちの場合は、四辺形(4面のポリゴン)があります。

この接線が接線であることは保証されません。反対側の辺の長さの合計が等しい場合にのみ真です。

あなたが本当に接線方向接線の頂点を持っている場合 - 辺の長さ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)) 

を見つける内接円センターの公式がたくさんありますwikiページでは、三角法を使っています - 正規化されたABベクトルとADベクトルの和としてA角の二等分ベクトルを取得し、正規化し、長さ| AM | = r/tg(A/2) A.

OpenCVは画像処理のためのライブラリであり、幾何学的計算のためのライブラリではありません。

関連する問題