Мне нужно изменить размер IplImage и преобразовать его в CvMat различной глубины, это код, который я написал до сих пор:
void cvResize2(IplImage *imgSrc, IplImage *imgDst)
{
IplImage *imgTemp;
imgTemp = cvCreateImage( cvGetSize( imgSrc ), IPL_DEPTH_64F, 1 );
cvScale( imgSrc, imgTemp, 1/255., 0.0 );
cvResize( imgTemp, imgDst );
}
Исходное изображение - в оттенках серого, целевое изображение - 64F.немного глубокоcvScale масштабирует только изображения одинакового размера, следовательно, временное изображение.
Программа вызывает следующее исключение при вызове cvResize:
OpenCV Error: Assertion failed (func != 0) in resize, file /tmp/buildd/opencv-2.1.0/src/cv/cvimgwarp.cpp, line 1488
terminate called after throwing an instance of 'cv::Exception'
what(): /tmp/buildd/opencv-2.1.0/src/cv/cvimgwarp.cpp:1488: error: (-215) func != 0 in function resize
Я не могу понять, почему, я имеюпроверил, чтобы изображения соответствовали наложенным условиям
- источник: 512x384, 8 глубина
- tmp: 512x384, 64 глубина
- dst: 64x64, 64 глубина
Есть какие-нибудь подсказки?Заранее спасибо