网上有很多关于ROI函数的例子,都是利用Mat imageROI=image (cv::Rect(原始图像的横坐标位置,纵坐标位置,感兴趣区域长,感兴趣区域高));
对于原始图像的横、纵坐标位置的确定,因为我没有细看定义函数,根据我改参数实验效果,感觉它是由左上角开始算起的,下面是我实验的函数:
#include "stdafx.h"
#include <iostream>
#include<core/core.hpp>
#include<highgui/highgui.hpp>
#include <imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
Mat image= imread ("IMG_20170329_155039.jpg"); //选自己的图片,放在工程里面
if (!image.data) {
cout<<"Cannot load the image"<<endl;
return -1;
}
// imshow ("Original Image",image);
// cv::Mat result;
int cols=image.cols;
int rows=image.rows; //提取原始图片的长宽
Mat imageROI;
imageROI=image (cv::Rect(cols/4,rows*0.6,720,720));
imwrite ("cutroi.jpg",imageROI);
cv::imshow("CUT",imageROI);
waitKey();
system ("pause");
return 0;
}