Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 41027

error in runing source face detection in opencv 2.4.9 and vs 2012

$
0
0
i use pre-build opencv 2.4.9 i test the image show in opencv 2.4.9 it works,but for this source its have error?! if this errors is that i use pre-build opencv?what to do what not to do copy the xml file in current folder and my hardware corei5,Radeon ATI graphic #include #include #include void doMosaic(IplImage* in, int x, int y, int width, int height, int size); int main (int argc, char **argv) { int i, c; IplImage *src_img = 0, *src_gray = 0; const char *cascade_name = "haarcascade_frontalface_alt.xml"; CvHaarClassifierCascade *cascade = 0; CvMemStorage *storage = 0; CvSeq *faces; cascade = (CvHaarClassifierCascade *) cvLoad (cascade_name, 0, 0, 0); cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); CvCapture *capture = cvCreateCameraCapture(0); assert(capture != NULL); while (1) { src_img = cvQueryFrame (capture); src_gray = cvCreateImage (cvGetSize(src_img), IPL_DEPTH_8U, 1); storage = cvCreateMemStorage (0); cvClearMemStorage (storage); cvCvtColor (src_img, src_gray, CV_BGR2GRAY); cvEqualizeHist (src_gray, src_gray); faces = cvHaarDetectObjects (src_gray, cascade, storage, 1.11, 4, 0, cvSize (40, 40)); for (i = 0; i < (faces ? faces->total : 0); i++) { CvRect *r = (CvRect *) cvGetSeqElem (faces, i); doMosaic(src_img, r->x, r->y, r->width, r->height, 20); } cvShowImage("Capture", src_img); cvReleaseImage(&src_gray); c = cvWaitKey (2); if (c == '\x1b') break; } cvReleaseCapture (&capture); cvDestroyWindow ("Capture"); return 0; } void doMosaic(IplImage* in, int x0, int y0, int width, int height, int size) { int b, g, r, col, row; int xMin = size*(int)floor((double)x0/size); int yMin = size*(int)floor((double)y0/size); int xMax = size*(int)ceil((double)(x0+width)/size); int yMax = size*(int)ceil((double)(y0+height)/size); for(int y=yMin; y in->height ){ break; } row = i; for(int j=0; j in->width ){ break; } b += (unsigned char)in->imageData[in->widthStep*(y+i)+(x+j)*3]; g += (unsigned char)in->imageData[in->widthStep*(y+i)+(x+j)*3+1]; r += (unsigned char)in->imageData[in->widthStep*(y+i)+(x+j)*3+2]; col = j; } } row++; col++; for(int i=0;iimageData[in->widthStep*(y+i)+(x+j)*3] = cvRound((double)b/(row*col)); in->imageData[in->widthStep*(y+i)+(x+j)*3+1] = cvRound((double)g/(row*col)); in->imageData[in->widthStep*(y+i)+(x+j)*3+2] = cvRound((double)r/(row*col)); } } } } } the error is a break in microsoft ,please help me.thanks very much First-chance exception at 0x75C4B727 in opencv.exe: Microsoft C++ exception: cv::Exception at memory location 0x003CF678. If there is a handler for this exception, the program may be safely continued.

Viewing all articles
Browse latest Browse all 41027

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>