C/C++ OpenCV设置感兴趣区域ROI

时间:2024-03-30 13:08:23

C/C++ OpenCV设置感兴趣区域ROI

原创 2017年01月09日 15:05:09

设置感兴趣区域(ROI,region of interest),来专注或者简化工作过程,也就是从图像中选择一个图像区域,这个区域是

图像分析所关注的重点。我们圈定的这个区域,以便进行进一步处理


定义ROI的两种方法

1.使用表示矩形区域的Rect。他指定矩形的左上角左边和矩形的长宽以定义一个矩形区域

例:其中image是已经载入好的图片

Mat imageROI=image(Rect(x,y,xleng,yleng))

2.指定感兴趣行或列的范围(Range),Range是指从起始索引到终止索引的一段联系序列

如:Mat imageROI=image(Range(500,500+xleng),Range(250,250+yleng))


下面是代码:

[cpp] view plain copy
  1. #include <opencv2\opencv.hpp>  
  2. #include <opencv2\imgproc\imgproc.hpp>  
  3.   
  4. using namespace cv;  
  5.   
  6. int main()  
  7. {  
  8.     Mat image1 = imread("1.jpg");  
  9.     Mat image2 = imread("2.jpg");  
  10.     if (!image1.data)  
  11.     {  
  12.         printf("第一张图片读取失败!\n");  
  13.         return -1;  
  14.     }  
  15.     imshow("image1", image1);  
  16.     if (!image2.data)  
  17.     {  
  18.         printf("第二张图片读取失败!\n");  
  19.         return -1;  
  20.     }  
  21.     imshow("image2", image2);  
  22.   
  23.     //定义一个Mat类型并设置ROI区域  
  24.     Mat imageROI = image1(Rect(10, 15, image2.cols, image2.rows));  
  25.   
  26.     //加载掩码  
  27.     Mat mask = imread("2.jpg");  
  28.     //将掩码复制到ROI  
  29.     image2.copyTo(imageROI, mask);  
  30.     imshow("利用ROI实验窗口叠加",image1);  
  31.     waitKey();  
  32.     return 0;  
  33. }  

C/C++ OpenCV设置感兴趣区域ROI

运行结果:

C/C++ OpenCV设置感兴趣区域ROI

版权声明:本文为博主原创文章,未经博主允许不得转载。
C/C++ OpenCV设置感兴趣区域ROI