我正在尝试使用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中做过吗?
答案 0 :(得分:1)
这对我有用:
Mat img = ...;
Window foo = new Window("bar", img); // class OpenCvSharp.CPlusPlus.Window
foo.OnMouseCallback += new CvMouseCallback(mc);
我第一次尝试使用SetMouseCallback方法,但它对我来说也没有用。