Обязателен - я новичок. Есть работа, которая включает в себя программирование, и я учу себя, как я иду. Само собой разумеется, как учитель, я часто и полностью ошибаюсь.
Где я сейчас нахожусь: я создал класс «График», он (как ни удивительно) создает графики. Но теперь я хочу сделать так, чтобы по щелчку мыши я модифицировал график. Но я не могу заставить обработчик мыши быть функцией-членом класса.
cv::setMouseCallback(windowName, onMouse, 0); // Set mouse handler to be onMouse
Не работает с
cv::setMouseCallback(windowName, Graph::onMouse, 0);
Это дает мне отсутствие ошибок параметров. Согласно это я не могу сделать его функцией-членом. После выполнения данного ответа он компилируется, но мой указатель 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;
}
Меня не волнует перемещение окна, я хочу изменить сам график - который хранится как переменная cv :: Mat в объекте Graph. И я не могу понять, как это сделать.
Буду признателен за любую помощь, и я действительно надеюсь, что это не просто бред.