#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;
}

opencv鼠标点击,寻找图片坐标点

鼠标响应setMouseCallback()

https://blog.csdn.net/qq_29540745/article/details/52562101
https://blog.csdn.net/yanglong890124/article/details/29186951

相关文章: