在图像处理中,有时需要分块处理,或者只处理图像中的某一部分。因此设定图像的Region of interest 是非常重要的,可以提高效率。
ROI 区域的两种定义方法:
1. 使用cv::Rect.
cv::Rect 表示一个矩形区域,常用的构造函数如下:Rect_ (_Tp _x, _Tp _y, _Tp _width, _Tp _height) //前两个参数表示的是所选区域的左上角的坐标值x和y, 后两个参数表示所选区域的宽和高。
使用实例如下:
//读入一个图像
cv::Mat img = imread('D:\test.jpg');
//设定感兴趣的区域ROI
cv::Mat m_roi = img(cv::Rect(250,300,100,100));
2. 使用cv::Range
cv::Range是指感兴趣区域的行和列的范围,cv::Range(Range(row1,row10),Range(cols1,cols10)) 是指从起始索引到终止索引(不包括终止索引)的一段连续的序列。
先行范围,然后列范围。使用实例如下:
//读入一个图像
cv::Mat img = imread('D:\test.jpg');
//设定感兴趣的区域ROI
cv::Mat m_roi = img(cv::Range(250,250+100),cv::Range(300,300+100));