opencv获取感兴趣区域函数

来源:互联网 发布:大数据可视化论文 编辑:程序博客网 时间:2024/05/22 07:00

IplImage  * getImageZone(char *filename,CvRect rect)
{
IplImage *pImg=NULL;

// IplImage *ptemp=NULL;
// IplImage *testImg=NULL;
pImg=cvLoadImage(filename,0);
int height=rect.height;
int width =rect.width;
// int x   =rect.x;
// int y   =rect.y;
CvSize size;
// size=cvGetSize(pImg);
size.height=height;
size.width =width;
IplImage *testImg=cvCreateImage(size,pImg->depth,pImg->nChannels);

cvSetImageROI(pImg,rect);
cvCopy(pImg,testImg,0);

// IplImage *ptemp=cvCreateImage(size,IPL_DEPTH_8U,1);
// cvCvtColor(testImg,ptemp,CV_BGR2GRAY);
//  cvCvtColor(原始图像,目标图像,CV_BGR2GRAY);
// cvCvtColor(ptemp1,ptemp2,CV_BGR2GRAY);
// cvNamedWindow("ptemp",1);
// cvShowImage("ptemp",ptemp);


// cvCanny(ptemp,pCannyImg, 35 , 120 , 3 );
// cvResetImageROI(pImg);
// printf("pImg height:%d\n",(int)pImg->height);
// printf("pImg width :%d\n",(int)pImg->width);

// printf("pImg(height width) :%d %d\n",
// (int)pImg->height,(int)pImg->width);
// printf("testImg(height width) :%d %d\n",
// (int)testImg->height,(int)testImg->width);
// cvNamedWindow("pImg",1);
return testImg;
}

 

 注: 如果在使用的过程中发现问题,请留言