我得到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()嗎? 感謝和最好的關注 –