छवि से किसी विशेष भाग को अलग करने के लिए, हमें पहले क्षेत्र का पता लगाना होगा। फिर हमें उस क्षेत्र को मुख्य छवि से दूसरे मैट्रिक्स में कॉपी करना होगा। OpenCV में ROI इस प्रकार काम करता है।
इस उदाहरण में, शुरुआत में दो मैट्रिक्स घोषित किए गए हैं। उसके बाद, 'image_name.jpg' . नाम की एक छवि 'image1' . में लोड कर दिया गया है आव्यूह। अगली पंक्ति 'image2=image1 (रेक्ट(100, 100, 120, 120));' विशेष ध्यान देने की आवश्यकता है। यह रेखा छवि के परिभाषित क्षेत्र को काट रही है और इसे 'छवि 2' मैट्रिक्स में संग्रहीत कर रही है।
यह आंकड़ा दिखाता है कि हमने यहां 'रेक्ट (100,100,120,120)' कोड के साथ क्या किया है। कोड की इस पंक्ति का मूल रूप है 'रेक्ट(x, y,x1 ,y<उप>1उप> )'। यहां x और y आयत के शुरुआती बिंदु को परिभाषित करते हैं और x1 और y1 आयत के समापन बिंदु का प्रतिनिधित्व करता है। इन मानों को बदलकर हम आयत का आकार बदल सकते हैं।
उदाहरण
निम्नलिखित कार्यक्रम OpenCV में रुचि के क्षेत्र के कार्य को प्रदर्शित करता है:
#include #include #include using namespace std; using namespace cv; int main() { Mat image1; //Declaring a matrix named 'image1'// Mat image2; //Declaring a matrix named 'image2'// image1 = imread("RGB.png"); //Loading an image name 'image_name.png into image1 matrix// image2 = image1(Rect(100, 100, 120, 120)); //imposing a rectangle on image1// namedWindow("Image_Window1"); //Declaring an window to show actual image// namedWindow("Image_Window2"); //Declaring an window to show ROI// imshow("Image_Window1", image1); //Showing actual image// imshow("Image_Window2", image2); waitKey(0); return 0; }
आउटपुट