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

C++ में OpenCV का उपयोग करके रीजन ऑफ इंटरेस्ट (ROI) कैसे काम करता है?


छवि से किसी विशेष भाग को अलग करने के लिए, हमें पहले क्षेत्र का पता लगाना होगा। फिर हमें उस क्षेत्र को मुख्य छवि से दूसरी मैट्रिक्स में कॉपी करना होगा। OpenCV में ROI इसी तरह काम करता है।

इस उदाहरण में, शुरुआत में दो मैट्रिक्स घोषित की गई हैं। उसके बाद, 'image_name.jpg' नामक एक छवि को 'image1' मैट्रिक्स में लोड किया गया है। अगली पंक्ति 'image2=image1 (Rect(100, 100, 120, 120));' पर विशेष ध्यान देने की आवश्यकता है। यह पंक्ति छवि के परिभाषित क्षेत्र को क्रॉप कर रही है और इसे 'image2' मैट्रिक्स में संग्रहीत कर रही है।

C++ में OpenCV का उपयोग करके रीजन ऑफ इंटरेस्ट (ROI) कैसे काम करता है?

आकृति दिखाती है कि हमने 'Rect(100,100,120,120)' कोड के साथ यहां क्या किया है। इस पंक्ति का मूल रूप 'Rect(x, y,x₁,y₁)' है। यहां x और y आयत के प्रारंभिक बिंदु को परिभाषित करते हैं और x₁ और y₁ आयत के अंतिम बिंदु को दर्शाते हैं। इन मानों को बदलकर, हम आयत का आकार बदल सकते हैं।

उदाहरण

निम्नलिखित प्रोग्राम OpenCV में रीजन ऑफ इंटरेस्ट के काम को प्रदर्शित करता है:

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

int main() { 
    Mat image1; //'image1' नामक मैट्रिक्स घोषित करना// 
    Mat image2; //'image2' नामक मैट्रिक्स घोषित करना// 
    image1 = imread("RGB.png"); //'image_name.png' नामक छवि को image1 मैट्रिक्स में लोड करना// 
    image2 = image1(Rect(100, 100, 120, 120)); //image1 पर एक आयत लागू करना// 
    namedWindow("Image_Window1"); //वास्तविक छवि दिखाने के लिए एक विंडो घोषित करना// 
    namedWindow("Image_Window2"); //ROI दिखाने के लिए एक विंडो घोषित करना// 
    imshow("Image_Window1", image1); //वास्तविक छवि दिखाना// 
    imshow("Image_Window2", image2); 
    waitKey(0); 
    return 0; 
}

आउटपुट

C++ में OpenCV का उपयोग करके रीजन ऑफ इंटरेस्ट (ROI) कैसे काम करता है?



  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 होता है, तो इसका मतलब शुद्ध सफेद रंग