//#include <videoInput.h> int Job1() { //CvCapture* captureR = cvCreateCameraCapture( 1); //CvCapture* captureL = cvCreateCameraCapture( 2 ); //CvCapture* captureR = cvCreateCameraCapture(CV_CAP_DSHOW); //CvCapture* captureL = cvCreateCameraCapture(CV_CAP_DSHOW + 2); //videoInput VI; //int numDevices = VI.listDevices(); CvCapture* captureL =cvCaptureFromCAM(1); cvWaitKey(100000); CvCapture* captureR =cvCaptureFromCAM(0); cvWaitKey(100000); //Camera Setting int w = 320, h = 240; cvSetCaptureProperty ( captureL, CV_CAP_PROP_FRAME_WIDTH, w ); cvSetCaptureProperty ( captureL, CV_CAP_PROP_FRAME_HEIGHT, h ); cvSetCaptureProperty ( captureR, CV_CAP_PROP_FRAME_WIDTH, w ); cvSetCaptureProperty ( captureR, CV_CAP_PROP_FRAME_HEIGHT, h ); cvNamedWindow( "Camera_L", CV_WINDOW_AUTOSIZE ); cvNamedWindow( "Camera_R", CV_WINDOW_AUTOSIZE ); cvNamedWindow( "Segmentation", CV_WINDOW_AUTOSIZE ); cvNamedWindow( "Disparity", CV_WINDOW_AUTOSIZE ); //Image buffer IplImage *imgL_O, *imgL; IplImage *imgR_O, *imgR; //segmentation setting FastSegmentation Z; Z.setting(0,h ,w, 1, 13, 13, 1,6); //Depth Setting Depth Y; Y.setting(h, w, 1, 13, 13, 1, 1, 0); Y.ROI(80,150,50,300); Y.SMask=Z.FilterMap; //debug IplImage *Zmap = cvCreateImage(cvSize(Z.width_R,Z.height_R),8,3); IplImage *Dmap = cvCreateImage(cvSize(Y.width_R,Y.height_R),8,1); while(true) { if( !(imgL= cvQueryFrame(captureL)) ) { //printf("\n #Error(Panel_Display):READ_IMAGE_FAIL L"); //getchar(); //exit(-1); continue; } if( !(imgR= cvQueryFrame(captureR)) ) { //printf("\n #Error(Panel_Display):READ_IMAGE_FAIL R"); //getchar(); //exit(-1); continue; } unsigned char* srcL=(unsigned char* )imgL->imageData; unsigned char* srcR=(unsigned char* )imgR->imageData; //Z.setting(srcL,h ,w, 1, 13, 13, 1,6); Z.Img=srcL; Z.filtering(); Z.clustering2(); Y.SMask=Z.FilterMap; Y.clusters=Z.clusters; Y.ClusterNum=Z.ClusterNum; Y.update(srcL,srcR); cvShowImage( "Camera_L", imgL ); cvShowImage( "Camera_R", imgR ); Zmap->imageData=(char*)Z.FilterMap; cvShowImage( "Segmentation", Zmap ); Dmap->imageData=(char*)Y.DisparityMap; cvShowImage( "Disparity", Dmap ); int key = cvWaitKey(30); if( key == 27 ){ cvSaveImage("L.bmp",imgL, 0); cvSaveImage("R.bmp",imgR, 0); break; } } cvReleaseCapture( &captureL ); cvReleaseCapture( &captureR ); cvDestroyWindow( "Camera_L" ); cvDestroyWindow( "Camera_R" ); return 0; }