Opencv 提取图像中的矩形区域
采用OPENCV,从一幅图像中提取部分区域,并保存为新图像。
void CFRDemo1Dlg::OnButton1()
{
//加载源图像CV_LOAD_IMAGE_COLOR或者CV_LOAD_IMAGE_GRAYSCALE
IplImage *pSrc = cvLoadImage("lcl.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if(!pSrc)
{
MessageBox("图像文件加载失败!","错误",MB_ICONERROR|MB_OK);
return ;
}
CvSize size= cvSize(40,50);//区域大小
cvSetImageROI(pSrc,cvRect(60,70,size.width, size.height));//设置源图像ROI
IplImage* pDest = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//创建目标图像
cvCopy(pSrc,pDest); //复制图像
cvResetImageROI(pDest);//源图像用完后,清空ROI
cvSaveImage("Roi.jpg",pDest);//保存目标图像
}