4

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

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

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

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

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

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

我试图用谷歌搜索它,但没有找到 opencvsharp 的示例代码或说明。而且由于在openCV中它只是一个常规的回调方法——不需要那个CVmousecallback——我不知道如何在openCVsharp上执行这个。

有人在 openCVsharp 中做过吗?

4

1 回答 1

1

这对我有用:

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

我也第一次尝试了 SetMouseCallback 方法,但它也对我不起作用。

于 2014-07-29T15:11:08.913 回答