设置感兴趣区域(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))
#include <opencv2\opencv.hpp>
#include <opencv2\imgproc\imgproc.hpp>
using namespace cv;
int main()
{
Mat image1 = imread("1.jpg");
Mat image2 = imread("2.jpg");
if (!image1.data)
{
printf("第一张图片读取失败!\n");
return -1;
}
imshow("image1", image1);
if (!image2.data)
{
printf("第二张图片读取失败!\n");
return -1;
}
imshow("image2", image2);
//定义一个Mat类型并设置ROI区域
Mat imageROI = image1(Rect(10, 15, image2.cols, image2.rows));
//加载掩码
Mat mask = imread("2.jpg");
//将掩码复制到ROI
image2.copyTo(imageROI, mask);
imshow("利用ROI实验窗口叠加",image1);
waitKey();
return 0;
}
运行结果: