openCVsharp中的鼠标单击事件

时间:2012-11-23 14:25:58

标签: mouseevent opencvsharp

我正在尝试使用openCVsharp方法获取鼠标位置并在c#中打开窗口。

首先我定义一个回调函数:

public void mc(MouseEvent me, int x, int y, MouseEvent me2) {}

然后在启动阶段I打开窗口,为其分配回调函数:

CvMouseCallback mo = new CvMouseCallback(mc);
Cv.NamedWindow("capture");
Cv.SetMouseCallback("capture", mo);

但是在打开的窗口中点击鼠标不会调用回调。

我试图谷歌,但没有找到opencvsharp的示例代码或说明。而且因为在openCV中它只是一个常规的回调方法 - 不需要CVmousecallback - 我无法找到如何在openCVsharp上执行此操作。

有人在openCVsharp中做过吗?

1 个答案:

答案 0 :(得分:1)

这对我有用:

Mat img = ...;
Window foo = new Window("bar", img); // class OpenCvSharp.CPlusPlus.Window
foo.OnMouseCallback += new CvMouseCallback(mc);

我第一次尝试使用SetMouseCallback方法,但它对我来说也没有用。