Giới thiệu
Mouse Events là tính năng hữu ích của OpenCV: theo dõi vị trí con trỏ chuột và các sự kiện click (trái, phải, giữa). Ứng dụng rộng trong robotics, computer vision.
Chương trình demo Mouse Events
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
void locator(int event, int x, int y, int flags, void* userdata) {
if (event == EVENT_LBUTTONDOWN)
cout << "Click trái tại: (" << x << "," << y << ")" << endl;
else if (event == EVENT_RBUTTONDOWN)
cout << "Click phải tại: (" << x << "," << y << ")" << endl;
else if (event == EVENT_MBUTTONDOWN)
cout << "Click giữa tại: (" << x << "," << y << ")" << endl;
else if (event == EVENT_MOUSEMOVE)
cout << "Vị trí chuột: (" << x << "," << y << ")" << endl;
}
int main() {
Mat image = imread("bright.jpg");
namedWindow("Track");
setMouseCallback("Track", locator, NULL);
imshow("Track", image);
waitKey(0);
return 0;
}
Kết quả
Cửa sổ hiển thị ảnh. Khi di chuyển chuột hoặc click, console in ra tọa độ (x,y) và loại sự kiện.