setMouseCallback在OpenCV中调用时出错

时间:2015-03-25 21:32:06

标签: c++ opencv

我有一个我最近偶然发现的问题。我在这里查看了许多来源,但找不到任何有用的解决方案。我想实现setMouseCallback是基于类的方法。我在HandGesture.h中公开解释了这个功能,如下所示:

void MouseEvents(int event, int x, int y, int flags, void* userData);

并在HandGesture.cpp中声明如下

void HandGesture::MouseEvents(int event, int x, int y, int flags, void* userData){

switch (fingerTips.size()){
    case 1:
        event == EVENT_LBUTTONDOWN;
        break;
    case 2:
        event == EVENT_RBUTTONDOWN;
        break;
    case 3:
        event == EVENT_MBUTTONDOWN;
        break;
    default:
        event == EVENT_MOUSEMOVE;

}

现在如果我想在neigbour函数中调用setMouseCallback函数,它会给我以下错误:

Error: argument of type "void(HandGesture*)(int event,int x, int y, int flags, void* userData)" is incompatible with parameter of type "cv::MouseCallback"

我试过用: static void HandGesture::MouseEvents(int event, int x, int y, int flags, void* userData)它没有帮助。由于我使用的是不是静态的向量fingerTips,因此MouseEvents函数无法识别它。

非常感谢任何帮助。提前谢谢!

0 个答案:

没有答案