前提是正确配置好了OpenCV2.3.1,创建一个Win32控制台应用程序空工程,新建一个main.cpp将下面代码写入,即可实现鼠标点击获取:
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace std;
struct MouseEvent
{
MouseEvent() { event = -1; buttonState = 0; }
cv::Point pt;
int event;
int buttonState;
};
static void onMouse(int event, int x, int y, int flags, void* userdata)
{
MouseEvent* data = (MouseEvent*)userdata;
data->event = event;
data->pt = cv::Point(x,y);
data->buttonState = flags;
if(event==CV_EVENT_LBUTTONDOWN)
cout<<"LDOWN ("<<x<<","<<y<<")"<<endl;
else if(event==CV_EVENT_LBUTTONUP)
cout<<"LUP ("<<x<<","<<y<<")"<<endl;
}
int main()
{
MouseEvent mouse;
cv::namedWindow("button");
cv::setMouseCallback("button",onMouse,&mouse);
cv::Mat image=cv::Mat::zeros(1024,768,CV_8UC3);
cv::imshow("button",image);
cout<<"click"<<endl;
cv::waitKey();
}