要从图像中分离出特定部分,我们必须首先找到该区域。然后我们 必须将该区域从主图像复制到另一个矩阵。这就是ROI的工作原理 OpenCV工作。
在这个例子中,开始时声明了两个矩阵。之后,一个名为'image_name.jpg'的图像被加载到'image1'矩阵中。下一行'image2=image1 (Rect(100, 100, 120, 120));'需要特别注意。这行代码是将图像的定义区域裁剪出来,并存储在'image2'矩阵中。
图示了我们使用'Rect(100,100,120,120)'代码所做的操作 这行代码的基本形式是'Rect(x, y,x1,y1)'。这里的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; }
以上是如何使用C++在OpenCV中使用感兴趣区域(ROI)?的详细内容。更多信息请关注PHP中文网其他相关文章!