Tener problemas para crear una implementación basada en clase de la función mouseCallback de OpenCV

Como sugiere el título, tengo algunos problemas para implementar la función mouseCallback de OpenCV en una estructura C ++ basada en clases. Permíteme explicarte. He definido una clase llamada BriskMatching en la que he creado una función miembro llamada mouseCallback con los parámetros correctos que requiere OpenCV (consulte el fragmento de código a continuación).

**Briskmatching.h**

class BriskMatching
{
public:
    BriskMatching();
    ~BriskMatching();

public:
    void mouseCallback(int event, int x, int y, int flags, void *param);
};

Todo esto está bien, sin embargo, mi problema surge cuando intento configurar esta función como la función de devolución de llamada del ratón designada a través de OpenCVcv::setMouseCallback función.

En mi función principal, creo una instancia de la clase BriskMatching llamada briskMatcher y cuando llega el momento de establecer la devolución de llamada del ratón, intento hacerlo así ...

cv::setMouseCallback("Matches", BriskMatching::mouseCallback, &matchesImg);

Desafortunadamente, esto arroja un error.

Error   3   error C3867: 'BriskMatching::mouseCallback': function call missing argument list; use '&BriskMatching::mouseCallback' to create a pointer to member c:\users\mobilef\documents\visual studio 2010\projects\opencv_objtracking\opencv_briskmatching\main.cpp 54  1   OpenCV_BriskMatching

Podría deshacerme de este error declarando la función mouseCallback comostatic enBriskMatching.h pero luego obtengo una gran cantidad de otros errores ya que me refiero a muchas variables miembro no estáticas en la función mouseCallback.

Así que mi pregunta para ustedes es esta. ¿Cómo debo modificar mi código para poder pasar correctamente la función mouseCallback declarada dentro de la clase BriskMatching a lacv::setMouseCallback ¿función?

Gracias por toda su ayuda en avanzado!

Respuestas a la pregunta(2)

Su respuesta a la pregunta