opencv库函数学习:Rect函数

基本概念:

Rect(int x, int y, int width, int height);
参数含义:
Rect(左上角x坐标 , 左上角y坐标,矩形的宽,矩形的高)

Mat image = imread("C:\\Users\\Leo\\Desktop\\lena.jpg");
 Rect rect1(256, 256, 128, 128); 
 Rect rect2(224, 224, 128, 128); 
 Mat roi1; 
 image(rect1).copyTo(roi1); // copy the region rect1 from the image to roi1 
 imshow("1", roi1);
 waitKey(0);
 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓把rect2所划定的区间图片复制给矩阵roi2↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
 Mat roi2;
  image(rect2).copyTo(roi2); // copy the region rect2 from the image to roi2
imshow("2", roi2);
waitKey(0);
 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓构造rect1与rect2的公共部分rect3区域,再从原图中节选出rect3区域的图↓↓↓↓↓↓↓
cv::Rect rect3 = rect1&rect2; // intersection of the two sets Mat roi3;
 image(rect3).copyTo(roi3);
imshow("3", roi3);
waitKey(0);
 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓构造rect1与rect2的总和部分rect3区域,再从原图中节选出rect3区域的图↓↓↓↓↓↓↓↓↓↓
Rect rect4 = rect1|rect2; // union of the two sets (the minimum bounding rectangle) 
Mat roi4;
image(rect4).copyTo(roi4);
imshow("4", roi4); 
 waitKey(0); 
  //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓把前面获取到的roi1图片将rect5区域替换掉↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Rect rect5(10, 10, 128, 128);
roi1.copyTo(image(rect5)); // copy the region rect1 to the designated region in the image 
imshow("5", image);
waitKey(0);
 //=======================================================================
--------------------- 

opencv库函数学习:Rect函数_第1张图片

其他几篇参考:
https://blog.csdn.net/yhl_leo/article/details/50593825
https://blog.csdn.net/qq_15698613/article/details/83857914

你可能感兴趣的:(opencv库函数)