(インクからの) ストロークのセットがあり、線、正方形、円、三角形などの幾何学的形状に関与するストロークを見つけて識別したいと考えています。
これまで、ビットマップで動作する多くのアルゴリズムを見てきました。
私はすでにポイントの良い配列を持っているので、私の問題はより簡単です。しかし、最も近い幾何学的形状を見つける必要があります。ありがとうジョン
ストロークをベクトル (角度など) に変換します。例: 272, 93, 42, 179 これらの角度を、認識される角度のテーブルと比較します。
例: { {0,90,180,270}, {270, 90, 45, 180} }
すべてのテーブル エントリに対して次の操作を行います: すべての角度に対して次の操作を行います 2 つの角度の差の絶対値を取得し、現在の合計を加算します
最小の現在の合計は、最も似ている形状です。
ところで、2 つの角度の違いを見つけないように注意してください。ラップアラウンドの問題があります。角度: 359 と 1 の距離は非常に近いですが、単純に差し引くと 358 度離れているように見えます。
これが理解できたことを願っています
機械学習の手法を試して、関心のある形状についてコードをトレーニングすることもできます。これは、多くの人が Wii リモコンでジェスチャーを認識するために行っていることと似ています。次に例を示します。
http://mm-werkstatt.informatik.uni-augsburg.de/project_details.php?id=46