我真的很难实现鼠标事件功能。我被要求由其中一个stackexchange用户Drawing rectangle or line using mouse events in open cv using python阅读以下链接。因此,当我浏览以下链接时,我理解了代码,但后来我想编写一个简单的程序,这样每当用户点击他/她的左键单击时,鼠标的位置就会显示在控制台窗口中。现在,这是我的代码。令我困惑的一件事是,不仅我得到一个没有鼠标位置的空白窗口,而且我有这个问题,我必须要求用户按下鼠标左键,然后执行鼠标回调功能。多数民众赞成在那里,我认为我做错了,因为我没有给用户提供点击左键的选项,程序在没有该选项的情况下执行。有没有办法解决它?这是我的代码。请指正。我需要理解这个东西,因为我必须使用鼠标事件功能执行一些复杂的任务。所以,我需要完全掌握这个概念,并了解我做错了什么。感谢。
bool clicked = false;
int x,y;
POINT Q;
void onMouse( int event, int x, int y, int f, void* )
{
switch(event) {
case CV_EVENT_LBUTTONDOWN:
clicked = true;
GetCursorPos(&Q);
x = Q.x;
y = Q.y;
cout<<"The position of the mouse is:"<<x<<y<<endl;
break;
default:
break;
}
}
int main()
{
cout<<"Mouse event program"<<endl;
setMouseCallback("Mouseposition",onMouse,NULL);
system("pause");
}