opencv 捕捉鼠标事件

28 篇文章 0 订阅
28 篇文章 0 订阅

https://github.com/sofiathefirst/imagesCpp/blob/master/01showImg/onMouse.cpp

 

#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>
using namespace cv;
using namespace std;

//点击鼠标返回相应坐标位置并存到txtpoints2文件中
#define WINDOW "source image"
Mat src;
void On_mouse(int event, int x, int y, int flags, void*);
Point recent_Point;
ofstream file("point2.txt", ios::out | ios::binary);
int main()
{
    src = imread("000000.jpg");
    namedWindow(WINDOW, WINDOW_NORMAL);
    setMouseCallback(WINDOW, On_mouse);
    //while (1)
    imshow(WINDOW, src);//点击的开始
    waitKey(0);
    file.close();
    return 0;

}
void On_mouse(int event, int x, int y, int flags, void*)//每次点击左键,将将当前点坐标存储到txt文件中,并在相应位置画红点
{
    
    if (event == EVENT_LBUTTONDOWN) 
    {
        recent_Point = Point(x, y);
        file << recent_Point.x << " " << recent_Point.y<<" ";
        circle(src, recent_Point, 3, Scalar(25, 0, 0), -1);    
        imshow(WINDOW, src);
		printf("%d,%d\n",x,y);
        
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值