OpenCV(十)ROI感兴趣区域

目录

1、概念

2、代码

3、效果

参考资料


1、概念

        在图像处理的时候,常常我们只想对一部分图像进行处理,也就是感兴趣区域ROI,region of interest)。我们把一部分图像区域分化独立出来进行单独处理,这样不仅减少了图像处理分析的工作量,而且有利于精度的提高和减少处理时间。

定义ROI区域的两种方法:

(1)Rect()函数,指定矩形的左上角坐标矩形的长宽来定义一个矩形区域作为ROI区域;

Mat imageROI = image(Rect(x, y,     width, height);
//                        左上角坐标   宽,高

(2)Range()来指定感兴趣的行和列的范围,Range是指从初始索引到终止索引的(不包括终止索引)的一段连续序列;

Mat imageROI = image(Range(y,y+imageROI.rows),Range(x, x+image.ROI.cols));
//                    起始行,结束行                起始列,结束列

2、代码

//ROI感兴趣区域
#include 
#include 

using namespace cv;
using namespace std;

Mat src, dst;

//图像初始化
void Image_Init()
{
	src = imread("Resource/test.jpg");					//读取
	if (src.empty())
	{
		printf("could not load the picture...");
	}
}

//显示图像
void Image_Show()
{
	imshow("原图", src);
	imshow("ROI", dst);
}

int main()
{
	Image_Init();					//图像初始化

	// 选取 ROI区域
	//方法一:
	//dst = src(Rect(210, 210,		150, 200));
	//						左上角坐标		宽和高
	//方法二:
	dst = src(Range(210, 210+200), Range(210, 210+150));
	//						起始行,结束行				起始列,结束列

	Image_Show();					//显示图像

	waitKey(0);

	return 0;
}

3、效果

OpenCV(十)ROI感兴趣区域_第1张图片

参考资料

https://blog.csdn.net/zhu_hongji/article/details/81333200

你可能感兴趣的:(#,OpenCV,c++,opencv,计算机视觉,图像处理,人工智能)