माउस इवेंट ओपनसीवी की सबसे उपयोगी विशेषताओं में से एक है। ओपनसीवी में, हम माउस पॉइंटर की स्थिति को ट्रैक कर सकते हैं और क्लिक (दाएं, बाएं और मध्य-क्लिक) को ट्रैक कर सकते हैं। OpenCV का रोबोटिक्स और कंप्यूटर विज़न में व्यापक अनुप्रयोग है। रोबोटिक्स और कंप्यूटर विज़न ट्रैकिंग में माउस पॉइंटर और क्लिक का अक्सर उपयोग किया जाता है।
यहां हम समझेंगे कि छवि पर माउस पॉइंटर के स्थान को कैसे ट्रैक किया जाए और क्लिकों को कैसे ट्रैक किया जाए।
निम्न प्रोग्राम दर्शाता है कि माउस पॉइंटर और क्लिक के स्थान को कैसे ट्रैक किया जाए।
उदाहरण
#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){ //function to track mouse movement and click// if (event == EVENT_LBUTTONDOWN){ //when left button clicked// cout << "Left click has been made, Position:(" << x << "," << y << ")" << endl; } else if (event == EVENT_RBUTTONDOWN){ //when right button clicked// cout << "Rightclick has been made, Position:(" << x << "," << y << ")" << endl; } else if (event == EVENT_MBUTTONDOWN){ //when middle button clicked// cout << "Middleclick has been made, Position:(" << x << "," << y << ")" << endl; } else if (event == EVENT_MOUSEMOVE){ //when mouse pointer moves// cout << "Current mouse position:(" << x << "," << y << ")" << endl; } } int main() { Mat image = imread("bright.jpg");//loading image in the matrix// namedWindow("Track");//declaring window to show image// setMouseCallback("Track", locator, NULL);//Mouse callback function on define window// imshow("Track", image);//showing image on the window// waitKey(0);//wait for keystroke// return 0; }
आउटपुट