Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ภูมิภาคที่น่าสนใจ (ROI) ทำงานใน OpenCV โดยใช้ C ++ อย่างไร


ในการแยกส่วนใดส่วนหนึ่งออกจากภาพ เราต้องค้นหาพื้นที่ก่อน จากนั้นเราต้องคัดลอกพื้นที่นั้นจากภาพหลักไปยังเมทริกซ์อื่น นี่คือวิธีการทำงานของ ROI ใน OpenCV

ในตัวอย่างนี้ มีการประกาศเมทริกซ์สองตัวที่จุดเริ่มต้น หลังจากนั้นรูปภาพชื่อ 'image_name.jpg' ถูกโหลดลงใน 'image1' เมทริกซ์ บรรทัดถัดไป 'image2=image1 (Rect(100, 100, 120, 120));' ต้องให้ความสนใจเป็นพิเศษ บรรทัดนี้ครอบตัดขอบเขตที่กำหนดของรูปภาพและจัดเก็บไว้ในเมทริกซ์ 'image2'

ภูมิภาคที่น่าสนใจ (ROI) ทำงานใน OpenCV โดยใช้ C ++ อย่างไร

รูปแสดงสิ่งที่เราได้ทำที่นี่ด้วยรหัส 'Rect(100,100,120,120)' รูปแบบพื้นฐานของโค้ดบรรทัดนี้คือ 'Rect(x, y,x1 ,y1 )'. โดยที่ x และ y กำหนดจุดเริ่มต้นของสี่เหลี่ยมผืนผ้าและ x1 และ 1 แสดงถึงจุดสิ้นสุดของสี่เหลี่ยม โดยการเปลี่ยนค่าเหล่านี้ เราสามารถเปลี่ยนขนาดของสี่เหลี่ยมผืนผ้าได้

ตัวอย่าง

โปรแกรมต่อไปนี้แสดงให้เห็นถึงการทำงานของภูมิภาคที่น่าสนใจใน 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;
}

ผลลัพธ์ ภูมิภาคที่น่าสนใจ (ROI) ทำงานใน OpenCV โดยใช้ C ++ อย่างไร