Вам необходимо соответствовать глубина и количество каналов целевого изображения, чтобы операция изменить размер работала. Прямо сейчас вы принимаете эти значения.
capture = cvCaptureFromFile("C:\\New York.avi");
IplImage* frame = cvQueryFrame(capture);
IplImage* scaled = cvCreateImage(sz, frame->depth, frame->nChannels);
cvResize(frame, scaled, CV_INTER_LINEAR);
cvShowImage("123", scaled);
cvWaitKey(0); // wait for a key press, and then
cvReleaseImage(&scaled);
Я надеюсь, что вы используете последнюю версию OpenCV.
EDIT
В комментарии ниже вы заявили, что используете OpenCV b5a . Я только что нашел сообщение от 2006 , в котором упоминается эта версия, что означает, что вы используете юрский выпуск OpenCV, и это, вероятно, корень проблемы.
Есть страница, которая показывает , как использовать OpenCV с C ++ Builder , но если у вас возникли проблемы с этим, я предлагаю вам перейти к другому компилятору.
То, что вы наблюдаете, скорее всего, ошибка этого древнего выпуска OpenCV.