[opencv笔记四]opencv roi

在图像处理领域,有一个非常重要的名词ROI。
什么是ROI?
它的英文全称是Region Of Interest,对应的中文解释就是感兴趣区域。
感兴趣区域,就是我们从图像中选择一个图像区域,这个区域就是图像分析所关注的焦点。我们圈定这个区域,那么我们要处理的图像就从大图像变为一个小图像区域了,这样以便进行进一步处理,可以大大减小处理时间。
1.首先在图片上将感兴趣区域框出来
2.ROI提取出来,成为一幅单独图片
3.利用感兴趣区域ROI实现图像叠加
代码如下:

Mat img = imread("C:\\Users\\joy\\Pictures\\1.jpg");
if (!img.data)
{
	printf("读取原始图失败!");
	getchar();
	return -1;
}
//将感兴趣区域框出来//
rectangle(img, Rect(1, 1, 200, 200), Scalar(255, 255, 0), 10);
imshow("ROI", img);
//Rect四个形参分别是:x坐标,y坐标,长,高;注意(x,y)指的是矩形的左上角点
Mat roi = img(Rect(200, 200, 100, 300));
imshow("roi", roi);
//图像融合,指定区域添加logo
double alphaValue = 0.5;
double betaValue = 1.0 - alphaValue;
Mat srcImage = imread("C:\\Users\\joy\\Pictures\\11.png");
Mat logoroi = srcImage(Rect(200, 200, 100, 300));
addWeighted(logoroi, alphaValue, roi, betaValue, 0, logoroi);
imshow("srcImage", srcImage);

你可能感兴趣的:(Opencv,C++)