特定の状況の解決策が必要です。私は基本的に線分上で動作するアルゴリズムを持っています。私は線分の終点と始点を知っているだけです。 (ポイントには2つの座標x、yがあります。これらは画像上のピクセルポイントです。画像のサイズもわかります)これらの線分を調べて、何かしたいと思います。しかし、私はまた、検査された線分を追跡して、同じ線分をもう一度調べる必要がないようにする必要があります。私はC++を使用していますので、stl set containerを使用したいと思います。2つの可能なインデックスを持つセット内の要素を格納する
私の質問は、どのようにこれらの線分を終点と開始点に従って保存できますか?私は終了点と開始点に固有の番号を生成する必要があります。 (また、私はstl setを使用する以外の他のアドバイスのために開いています:))
私はこれらの2つのピクセルのインデックス番号を生成したということが考えられます:(y * image-> Witdh)+ x。次に、2つのインデックス番号を(整数であるのと同じ方法で)取得します。次に、これらの数値を連結します:(indexStart < < 32)+ indexEnd(2倍になります)。今私はユニークな番号を持っていて、簡単にセットで保管することができます。しかし、私の検索では、線分の始点が同じ線分の終点になることが問題になります。もし私が終点から同じ線分に遭遇した場合、連結された線分の一意の数は(indexEnd < < 32)+ indexStartになります。それから私は避ける必要がある私のセットしたコンテナに同じ線分を追加します。
ありがとうございました。
他の方法でラウンドを発見したときに、偽陽性の異なるセグメントを得るために簡単な修正です。しかし、あなたの仕事のためのセグメントツリーのような特殊なツリーを考えたいかもしれません(説明:http://wwwisg.cs.uni-magdeburg.de/ag/lehre/SS2009/GDS/slides/S11.pdfまたはhttp: /en.wikipedia.org/wiki/Segment_tree) –