static u32 OCV_Run(void *par) { IplImage* image; CvCapture *capture; GF_InputSensorDevice *ifce = (GF_InputSensorDevice *)par; GF_OpenCV *ocv = (GF_OpenCV *)ifce->udta; capture= cvCaptureFromCAM(0); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH,640 ); cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 480 ); cvNamedWindow( "test", 0 ); image = NULL; while (ocv->running) { if (cvGrabFrame(capture)) { CvHaarClassifierCascade* cascade; image = cvRetrieveFrame(capture); cascade = load_object_detector("haarcascade_frontalface_default.xml"); detect_and_draw_objects(ifce, image, cascade, 1 ); cvShowImage( "test", image ); cvWaitKey(40); } } if (image) cvReleaseImage( &image); return 0; }
int main( int argc, char** argv ) { IplImage* image; //Use the following line to use your image if((image = cvLoadImage( "u00001.png", 1 )) != 0 ) { CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad("data/cascade.xml", 0, 0, 0); detect_and_draw_objects( image, cascade, 1 ); cvNamedWindow( "test", 0 ); cvShowImage( "test", image ); cvWaitKey(0); cvReleaseHaarClassifierCascade( &cascade ); cvReleaseImage( &image ); } return 0; }