Problemy z tworzeniem opartej na klasie implementacji funkcji mouseCallback OpenCV

Jak sugeruje tytuł, mam pewne problemy z implementacją funkcji mouseCallback OpenCV w opartej na klasach strukturze C ++. Pozwól mi wyjaśnić. Zdefiniowałem klasę o nazwie BriskMatching, w której utworzyłem funkcję składową o nazwie mouseCallback z poprawnymi parametrami wymaganymi przez OpenCV (zobacz fragment kodu poniżej).

**Briskmatching.h**

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

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

Wszystko jest w porządku, jednak mój problem pojawia się, gdy próbuję ustawić tę funkcję jako wyznaczoną funkcję wywołania zwrotnego za pomocą myszy OpenCVcv::setMouseCallback funkcjonować.

W mojej głównej funkcji tworzę instancję klasy BriskMatching o nazwie briskMatcher, a gdy nadejdzie czas na ustawienie wywołania zwrotnego myszy, próbuję to zrobić w ten sposób ...

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

Niestety, to powoduje błąd.

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

Mogłem pozbyć się tego błędu, deklarując funkcję mouseCallback jakostatic wBriskMatching.h ale potem dostaję całą masę innych błędów, ponieważ odwołuję się do wielu niestatycznych zmiennych składowych w funkcji mouseCallback.

Więc moje pytanie do was jest takie. W jaki sposób należy zmodyfikować mój kod, aby móc poprawnie przekazać funkcję mouseCallback zadeklarowaną w klasie BriskMatching docv::setMouseCallback funkcjonować?

Dziękujemy za całą pomoc w zaawansowanym!

questionAnswers(2)

yourAnswerToTheQuestion