obraz kadrowania openCv

Mam problemy z przycinaniem openCv IplImage. Zakładając, że tmp i img to IplImage *. Korzystanie z kodu:

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);

kiedy użyję powyższego cvRect, otrzymam obraz przycięty o rozmiarze 500 x 500 zgodnie z oczekiwaniami, jednak gdy użyję rect (400,400,500,500), otrzymam obraz o rozmiarze 500 X 320.

questionAnswers(4)

yourAnswerToTheQuestion