#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<stdio.h>
#include <string>
using namespace cv;
Mat src;
Mat dst;
void on_mouse(int event, int x, int y, int flags, void* ustc)
{
static Point pre_pt ;
char temp_1[20];
if (event == CV_EVENT_LBUTTONDOWN)
{
dst.copyTo(src);
pre_pt = Point(x, y);
sprintf(temp_1,"x:%d,y:%d",x,y);
putText(src,temp_1,Point(x,y),FONT_HERSHEY_SIMPLEX,0.5,Scalar(150,55,245));
imshow("src", src);
src.copyTo(dst);//确保画线操作是在src上进行
}
}
int main()
{
//注意:这一步必须要有,不然进行不了鼠标操作
namedWindow("src", WINDOW_AUTOSIZE);//WINDOW_AUTOSIZE:系统默认,显示自适应
src = imread("/home/zy/work/protest1/1.jpg", 1);//1:为原图颜色,0:为灰度图,黑白颜色
src.copyTo(dst);
setMouseCallback("src", on_mouse, 0);
imshow("src", src);
waitKey(0);
return 0;
}
鼠标响应setMouseCallback()
https://blog.csdn.net/qq_29540745/article/details/52562101
https://blog.csdn.net/yanglong890124/article/details/29186951