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

आकृति दिखाती है कि हमने '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;
}
आउटपुट
