做图像的resize时需要创建一个图像,首先想到的是用cvCreateImage,函数原型为:
CV_IMPL IplImage *
cvCreateImage( CvSize size, int depth, int channels );
于是,先读入原图:Mat image=imread(...);
然后创建和原图一样的结果图:
Mat result=cvCreateImage(image.size(),image.depth(),image.channels());
编译时OK,运行时出问题了:
OpenCV Error: Input image depth is not supported by function (Unsupported format
) in cvInitImageHeader, file ..\..\..\..\opencv\modules\core\src\array.cpp, line
2925
根据提示跟踪下源码看到这句:
if( (depth != (int)IPL_DEPTH_1U && depth != (int)IPL_DEPTH_8U &&
depth != (int)IPL_DEPTH_8S && depth != (int)IPL_DEPTH_16U &&
depth != (int)IPL_DEPTH_16S && depth != (int)IPL_DEPTH_32S &&
depth != (int)IPL_DEPTH_32F && depth != (int)IPL_DEPTH_64F) ||