为了提取到一幅图像中感兴趣的区域并裁剪出来作为一幅新图像的方法:
1、利用void cvSetImageROI( IplImage* image, CvRect rect )函数设置感兴趣的区域;
IplImage* src = cvLoadImage(“D:\\test.jpg”,1);
cvSetImageROI(src,cvRect(0,0,0.5*src->width,0.5*src->height));
2、创建一个与感兴趣区域同样大小的新图像;
IplImage* dst = cvCreateImage(cvSize(0.5*src->width,0.5*src->height),src->depth,src->nchannels);
3、利用void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL )函数将设置了感兴趣区域的图像复制到新图像;
cvCopy(src,dst,0);
4、释放感兴趣区域。
cvResetImageROI(src);
具体程序代码见http://download.youkuaiyun.com/detail/lejun2011/4897392