图像感兴趣区域剪切:
①将需要剪切的图像图像不部分设置为ROI
cvSetImageROI(src , cvRect(x,y,width,height));
②新建一个与需要剪切的图像部分同样大小的新图像
cvCreateImage(cvSize(width,height),IPL_DEPTH,nchannels);
③将源图像复制到新建的图像中
cvCopy(src,dst,0);
④释放ROI区域
cvResetIamgeROI(src);
示例:
#include "stdafx.h"
#include
#include
#include
#include
using namespace std;
using namespace cv;
IplImage* src;
IplImage* dst;
int main(int argc , char** argv )
{
src = cvLoadImage("0.jpg",1);
cvNamedWindow("源图像",1);
cvShowImage("源图像",src);
cvSetImageROI(src,cvRect(0,0,0.5*src->width,0.5*src->height));
dst = cvCreateImage(cvSize(0.5*src->width,0.5*src->height), IPL_DEPTH_8U,src->nChannels);
cvCopy(src,dst,0);
cvResetImageROI(src);
cvNamedWindow("操作后的图像",1);
cvShowImage("操作后的图像",dst);
cvWaitKey(0);
cvDestroyWindow("操作后的图像");
cvDestroyWindow("源图像");
cvReleaseImage(&src);
cvReleaseImage(&dst);
return 0;
}