【发布时间】:2011-11-15 04:11:19
【问题描述】:
我需要调整 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
我不知道为什么,我已经检查过图片是否符合规定的条件
- src: 512x384, 8 深度
- tmp: 512x384, 64 深度
- dst:64x64,64 深度
有什么线索吗? 提前致谢
【问题讨论】:
标签: opencv