我正在尝试使用 openCVsharp 方法在 c# 中获取鼠标位置并在 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 中做过吗?
最佳答案
这对我有用:
Mat img = ...;
Window foo = new Window("bar", img); // class OpenCvSharp.CPlusPlus.Window
foo.OnMouseCallback += new CvMouseCallback(mc);
我也第一次尝试了 SetMouseCallback 方法,但它对我也不起作用。
关于mouseevent - openCVsharp中的鼠标点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13531033/