2012-04-02 56 views
0

我想使用opencv庫建立一個程序。 我打算做一個激光筆鼠標。OpenCV C++如何讓停頓點擊?

到目前爲止,該程序可以實時檢測激光點並移動光標所在位置。

現在我想讓程序能夠執行點擊,如果可能的話雙擊。

我唯一的想法就是通過播放某幀的座標值並用當前幀座標減去當前幀座標來做到這一點。

我的問題是...我不知道如何在代碼中實現它

我應該使用數組來存儲的座標?或我可以使用的任何其他解決方案?

由於事先..

回答

1

的點擊可以由激光指示器消失來表示和附近出現相同的點,且僅當這種情況發生在1秒內。

您可以將最後一幀的座標存儲在std::vectorCvPoint中,並在激光指針再次出現時在該向量中進行簡單搜索。最後30個座標應該被存儲,所以你將始終擁有最後1秒記錄的座標(以30fps)。

雙擊是單擊的小增強。爲了簡單起見,在2秒內雙擊可以被看作是2次單擊。