其他分享
首页 > 其他分享> > c – openCv裁剪图像

c – openCv裁剪图像

作者:互联网

我遇到了openCv IplImage裁剪的问题.假设tmp和img都是IplImage *.使用代码:

printf("Orig dimensions: %dx%d\n", img->width, img->height);
cvSetImageROI(img, cvRect(0, 0,500,500));
tmp = cvCreateImage(cvGetSize(img),img->depth,img->nChannels);
cvCopy(img, tmp, NULL);
cvResetImageROI(img);
img = cvCloneImage(tmp);
printf("Orig dimensions after crop: %dx%d\n", tmp->width, tmp->height);

当我使用上面的cvRect时,我会得到一个像预期的那样裁剪尺寸为500 x500的图像,但是当我使用rect(400,400,500,500)时,我会得到尺寸为500 X 320的图像.

解决方法:

cvRect定义为(int x,int y,int width,int height),not(int left,int top,int right,int bottom).因此,您从点(x,y)=(400,400)开始选择500×500区域.我猜您的图像高度是720;).

标签:c,opencv,crop,iplimage
来源: https://codeday.me/bug/20191005/1857778.html