您的位置:首页 > 编程语言 > C语言/C++

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

2017-01-09 15:05 846 查看
设置感兴趣区域(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;
}




运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv