openCv Bild zuschneiden

Ich habe Probleme mit dem Zuschneiden von openCv IplImage. Angenommen, sowohl tmp als auch img sind IplImage *. Verwenden Sie den Code:

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

Wenn ich den obigen cvRect verwende, wird ein Bild mit einer Größe von 500 x 500 wie erwartet zugeschnitten. Wenn ich jedoch den Rect (400, 400, 500, 500) verwende, wird ein Bild mit der Größe 500 x 320 angezeigt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage