1

有没有办法在打开的 CV 上单击显示图像的指定点,以便稍后在其值上打印?

4

1 回答 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 回答