我收到了Unhandled异常:Microsoft C ++异常:内存位置的std :: length_error。
我有同一个类的以下两个构造函数实例:
Extract Cam1Extractor(c1getFrame);
Extract Cam2Extractor(c2getFrame);
当处于调试模式时,第一个on创建没有问题,但第二个抛出上面的异常。
构造函数如下:
Extract::Extract(IplImage* inputImage)
{
imageSize=cvGetSize(inputImage);
original=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
cvCopy(inputImage,original);
temp1=cvCreateImage( imageSize, 8,1);
temp2=cvCreateImage( imageSize, 8,1);
tmpBinary = cvCreateImage( imageSize, 8,1);
tmpOrig = cvCreateImage( imageSize, 8,inputImage->nChannels);//4
filteredImage=cvCreateImage( imageSize, 8,1);
originalID=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
fr=cvCreateImage( imageSize, 8,inputImage->nChannels);//4
numB=0;
}
当我进入上面的构造函数以找到异常时,它甚至会开始执行内部的操作,立即在开始括号处断开。我假设为指针c2getFrame分配内存存在问题,这是一个图像指针(openCV的IplImage *)。
奇怪的是它在发布模式下运行良好!?!
任何想法都非常感激。一切顺利,
威尔