有没有办法在打开的 CV 上单击显示图像的指定点,以便稍后在其值上打印?
问问题
3134 次
1 回答
1
简单的谷歌搜索给出了这个http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/ - 查看该Input handling
部分,它定义了如何进行鼠标输入处理程序回调,你会得到鼠标坐标,您可以在图像矩阵上使用。应该解决问题。
从上面的链接:
插入此函数定义:
void mouseHandler(int event, int x, int y, int flags, void* param)
{
switch(event){
case CV_EVENT_LBUTTONDOWN:
if(flags & CV_EVENT_FLAG_CTRLKEY)
printf("Left button down with CTRL pressed\n");
break;
case CV_EVENT_LBUTTONUP:
printf("Left button up\n");
break;
}
}
在主循环或事件循环或您进行初始化等的任何地方,
int mouseParam= CV_EVENT_FLAG_LBUTTON;
cvSetMouseCallback("win1",mouseHandler,&mouseParam);
其中“win1”应替换为您的窗口名称。更多细节cvSetMouseCallback
可以在http://opencv.willowgarage.com/documentation/user_interface.html中找到
于 2013-03-12T08:58:24.457 回答