4

私の入力

ポリゴンの輪郭をvector<Point2f>含む があります。このポリゴンと交差する必要がある点のリストもあります。

問題

これらの点のうちどれだけがポリゴンと交差するかを計算したいと思います。多数のポリゴンでこの計算を繰り返して、どのポリゴンに最大数のポイントが含まれているかを確認したいと考えています。

OpenCV は独自の交差機能を実装していますか、それとも交差機能を自分で実装する必要がありますか? 自分で実装しようとすると、結果が不必要に遅くなるのではないかと心配しています。OpenCV がそれを実行できない場合、このタスクを実行できる他の無料のグラフィック ライブラリはありますか?

4

1 に答える 1

3

pointPolygonTestは、探していることを正確に実行し、かなり最適化されています。パラメータは、Matポイントのベクトルを取るコンストラクタで作成できる です。

この関数は、点が輪郭の内側にあるか、外側にあるか、エッジ上にあるか (または頂点と一致しているか) を判断します。それに応じて、正 (内側)、負 (外側)、またはゼロ (エッジ上) の値を返します。measureDist=false の場合、戻り値はそれぞれ +1、-1、および 0 です。それ以外の場合、戻り値は、ポイントと最も近い輪郭エッジの間の符号付き距離です。

ただし、問題は簡単に並列化できるようです。つまり、候補ポリゴンの各バッチが異なるスレッドで実行される可能性があるため、パフォーマンスが気になる場合は、必ず調べてください。

于 2012-05-10T10:15:18.413 に答える