必須 - 私は初心者です。プログラミングを含む仕事をして、私が行くように私は自分自身を教えています。言うまでもなく、教師として頻繁に、そして徹底的に事を間違っています。OpenCV 2.3 with VS 2008 - マウスイベント
ここで私はクラス「グラフ」を作成しました。グラフを作っています(驚くほど十分です)。しかし今、マウスをクリックしてグラフを修正するようにしたいと思います。しかし、マウスハンドラをクラスのメンバ関数にすることはできません。
cv::setMouseCallback(windowName, onMouse, 0); // Set mouse handler to be onMouse
は、それは私のパラメータ誤差の欠如を与える
cv::setMouseCallback(windowName, Graph::onMouse, 0);
では動作しません。 thisによれば、私はそれをメンバ関数にすることはできません。与えられた答えに続いて、それはコンパイルされますが、私のthis
ポインタがゼロになります。ああ。
OnMouseは次のようになります。
私はウィンドウの移動を気にしないvoid onMouse(int event, int x, int y,int, void*)
{
if (event == CV_EVENT_LBUTTONDOWN)
{
cvMoveWindow("Window", 500, 500); //Just to see if stuff happened
}
return;
}
が、私はグラフ自体変更したい - Graphオブジェクト内CV ::マット変数として格納されます。そして、私はそれを行う方法を理解することはできません。
何か助けていただければ幸いです。私は本当にこれがちょっとばかげていないことを願っています。
素敵な質問!私はまったく同じ問題を抱えている。 –