1. 程式人生 > >【Opencv學習(三)】獲取Mat影象的ROI區域

【Opencv學習(三)】獲取Mat影象的ROI區域

在影象處理中,有時需要分塊處理,或者只處理影象中的某一部分。因此設定影象的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));