Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में OpenCV का उपयोग करके माउस इवेंट के साथ कैसे काम करें


माउस इवेंट OpenCV की सबसे उपयोगी विशेषताओं में से एक है। OpenCV में, हम माउस पॉइंटर की स्थिति को ट्रैक कर सकते हैं और क्लिक (दायां, बायां और मध्य-क्लिक) को ट्रैक कर सकते हैं। 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){ //माउस मूवमेंट और क्लिक को ट्रैक करने के लिए फंक्शन//    if (event == EVENT_LBUTTONDOWN){ //जब बायां बटन क्लिक किया जाता है//       cout << "Left click has been made, Position:(" << x << "," << y << ")" << endl;    } else if (event == EVENT_RBUTTONDOWN){ //जब दायां बटन क्लिक किया जाता है//       cout << "Rightclick has been made, Position:(" << x << "," << y << ")" << endl;    } else if (event == EVENT_MBUTTONDOWN){ //जब मध्य बटन क्लिक किया जाता है//       cout << "Middleclick has been made, Position:(" << x << "," << y << ")" << endl;    } else if (event == EVENT_MOUSEMOVE){ //जब माउस पॉइंटर चलता है//       cout << "Current mouse position:(" << x << "," << y << ")" << endl;    } } int main() {    Mat image = imread("bright.jpg");//मैट्रिक्स में छवि लोड करना//    namedWindow("Track");//छवि दिखाने के लिए विंडो घोषित करना//    setMouseCallback("Track", locator, NULL);//परिभाषित विंडो पर माउस कॉलबैक फंक्शन//    imshow("Track", image);//विंडो पर छवि दिखाना//    waitKey(0);//कीस्ट्रोक की प्रतीक्षा करना//    return 0; }

आउटपुट

C++ में OpenCV का उपयोग करके माउस इवेंट के साथ कैसे काम करें

C++ में OpenCV का उपयोग करके माउस इवेंट के साथ कैसे काम करें


  1. OpenCV में C++ का उपयोग करके रेखा कैसे बनाएं? OpenCV में C++ का उपयोग करके रेखा कैसे बनाएं?

    रेखा बनाने के लिए हमें दो बिंदुओं की आवश्यकता होती है - प्रारंभिक बिंदु और अंतिम बिंदु। हमें रेखा खींचने के लिए एक कैनवास की भी आवश्यकता होती है। OpenCV का उपयोग करके, मैट्रिक्स हमारा कैनवास है, हमें रेखा के प्रारंभिक और अंतिम बिंदुओं को परिभाषित करने की आवश्यकता होती है। हमें रेखा को एक रंग निर्दिष

  1. OpenCV में C++ का उपयोग करके बाइनरी इमेज को कैसे उल्टा करें? OpenCV में C++ का उपयोग करके बाइनरी इमेज को कैसे उल्टा करें?

    बाइनरी इमेज को उल्टा करने का मतलब पिक्सेल मानों को उल्टा करना है। दृश्य दृष्टिकोण से, जब हम बाइनरी इमेज को उल्टा करते हैं, तो सफेद पिक्सेल काले में बदल जाएंगे, और काले पिक्सेल सफेद में बदल जाएंगे। इस फ़ंक्शन का मूल रूप है - cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY); अगली लाइन ग्रेस्क

  1. OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं? OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं?

    बाइनरी इमेज केवल एक डिजिटल इमेज है जो दो रंगों, काले और सफेद को दर्शाती है। इमेज प्रोसेसिंग के दृष्टिकोण से, बाइनरी इमेज में दो संभावित मानों वाले पिक्सेल होते हैं - शून्य और एक। जब पिक्सेल का मान 0 होता है, तो यह शुद्ध काले रंग को दर्शाता है। जब पिक्सेल का मान 1 होता है, तो इसका मतलब शुद्ध सफेद रंग