2012-04-02 12 views
0

私はopencvライブラリを使ってプログラムをビルドしようとしています。 私はレーザーポインターマウスを作るつもりです。OpenCV C++ドウェルクリックの仕方は?

これまでのところ、プログラムはレーザーポイントを検出し、カーソル位置をリアルタイムで移動することができます。

今、プログラムにクリックを実行し、可能であればダブルクリックする機能を与えたいと思います。

私が持っている唯一のアイデアは、特定のフレームの座標値で再生し、最後のフレーム座標で現在のフレーム座標を差し引くことです。

私の問題は、私は

は私がコーディネート格納する配列を使用する必要があるコードでそれを実装する方法を知らない...です??または私が使用できる他のソリューション?事前に

おかげで..

答えて

1

クリックすると、同じ場所の近くに消えると表示されるレーザーポインタで表現することができ、これは1秒以内に発生した場合にのみ。

std::vectorCvPointの最後のフレームの座標を格納して、レーザーポインターが再び表示されるときにこのベクトルで簡単な検索を実行できます。最後の30座標は保存する必要があります。そのため、常に1秒間の記録(30fps)の座標を使用します。

ダブルクリックは、シングルクリックの小さな機能強化です。簡略化のために、ダブルクリックは、2秒以内に2回のシングルクリックが検出されたと見なすことができた。