OpenCV从鼠标回调函数返回值

Aar*_*769 3 opencv

在OpenCV中,我想将Point(x,y)之类的点位置返回到main()函数,我单击鼠标回调函数中的图像.除了设置全局变量之外还有吗?

我不想在on_mouse()函数中写入所有代码.

谢谢

ber*_*rak 6

在那里扩展Safirs的想法,除了类或类之外,你可以直接传达这一点:

void on_mouse( int e, int x, int y, int d, void *ptr )
{
    Point*p = (Point*)ptr;
    p->x = x;
    p->y = y;
}

Point p;
namedWindow("win");
setMouseCallback("win",on_mouse, (void*)(&p) );

// changed value of p will be accessible here 
Run Code Online (Sandbox Code Playgroud)