Obligatorio - Soy un novato. Tener un trabajo que implique programación y me enseño a mí mismo sobre la marcha. Huelga decir que como profesor consigo las cosas mal con frecuencia y a fondo.OpenCV 2.3 con VS 2008 - Mouse Eventos
Donde estoy ahora: creé la clase "Gráfico", sorprendentemente hace gráficos. Pero ahora quiero hacerlo de modo que con un clic del mouse modifique el gráfico. Pero parece que no puedo obtener un controlador de mouse para que sea una función miembro de la clase.
cv::setMouseCallback(windowName, onMouse, 0); // Set mouse handler to be onMouse
no funciona con
cv::setMouseCallback(windowName, Graph::onMouse, 0);
Me da la falta de errores de parámetros. De acuerdo con this no puedo hacer que sea una función miembro. Después de seguir la respuesta dada, se compila, pero mi puntero this
se anula. Ugh.
OnMouse se ve así:
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;
}
No me importa acerca de cómo mover la ventana, que desea modificar el gráfico en sí - que se almacena como una variable de cv :: Mat en un objeto gráfico. Y no puedo entender cómo hacerlo.
Cualquier ayuda sería apreciada, y realmente espero que esto no sea solo un galimatías.
¡buena pregunta! Tengo exactamente el mismo problema –