我得到0xC000001D非法指令。以下是我的代码0xC000001D:运行cvHaarDetectObject时非法指令:当运行cvHaarDetectObjects OpenCV的
int main() {
IplImage* img;
img = cvLoadImage("lena.jpg",1);
CvMemStorage* storage = cvCreateMemStorage(0);
CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad("haarcascade_frontalface_alt2.xml");
static CvScalar colors[] = { {{0,0,255}}, {{0,128,255}}, {{0,255,255}},
{{0,255,0}}, {{255,128,0}}, {{255,255,0}}, {{255,0,0}}, {{255,0,255}} };
// Detect objects
cvClearMemStorage(storage);
CvSeq* objects = cvHaarDetectObjects(img, cascade, storage, 1.1, 2, 0, cvSize(40, 40));
CvRect* r;
// Loop through objects and draw boxes
for(int i = 0; i < (objects ? objects->total : 0); i++){
r = (CvRect*)cvGetSeqElem(objects, i);
cvRectangle(img, cvPoint(r->x, r->y), cvPoint(r->x + r->width, r->y + r->height),
colors[i%8]);
}
cvNamedWindow("Output");
cvShowImage("Output", img);
cvWaitKey();
cvReleaseImage(&img);
return 0;
}
设置有问题吗?我可以编译代码,但是当我运行它时,我得到了非法指令错误,当程序运行到cvHaarDetectObjects时。
我已经包括了所有我的项目的同一目录内的lib文件和地方的形象。
我使用VS2010,Opencv2.4.3
感谢和问候
感谢您的答复.. 如何让我使用Visual Studio 2010我的存储更大? 我将图像加载到cvHaarDetectObjects上,我发现图像无法显示,如果我删除cvWaitKey(),这是问题吗?我需要cvWaitKey()吗? 感谢和最好的关注 –