示例#1
0
int main(){
 CvCapture* capture =0; 
 
 capture = cvCaptureFromCAM(0);

 if(!capture){
   printf("Capture failure\n");
   return -1;
 }

 cvSetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH,320);
 cvSetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT,240);
 cvSetCaptureProperty(capture,CV_CAP_PROP_FPS,50);

 IplImage* frame=0;
  
 setwindowSettings();

  //iterate through each frames of the video
 while(true){
 
  frame = cvQueryFrame(capture);
  if(!frame)  break;
  frame=cvCloneImage(frame); 

  // optional load an image
  //frame = cvLoadImage("imagen3.png",CV_LOAD_IMAGE_COLOR );

  cvSmooth(frame, frame, CV_GAUSSIAN,3,3);

  IplImage* imgHSV = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 3); 
  cvCvtColor(frame, imgHSV, CV_BGR2HSV); //Change the color format from BGR to HSV
   
  IplImage* imgThresh = GetThresholdedImage(imgHSV);
  
  cvShowImage("Ball", imgThresh);
  cvShowImage("Video", frame);

   //Clean up used images
  cvReleaseImage(&imgHSV);
  cvReleaseImage(&imgThresh);
  cvReleaseImage(&frame);

   //Wait 80mS
  int c = cvWaitKey(80);
  //If 'ESC' is pressed, break the loop
  if((char)c==27 ) break;

 }

  cvDestroyAllWindows();
 cvReleaseCapture(&capture);

       return 0;
}
示例#2
0
/**
 * @brief		The program entry point.
 */
int main() {
	CvCapture* capture = 0;

	capture = cvCaptureFromCAM(1);
	if (!capture) {
		printf("Capture failure\n");
		return -1;
	}

	IplImage* frame = 0;

	setwindowSettings();

	//iterate through each frames of the video
	while (true) {

		frame = cvQueryFrame(capture);
		if (!frame)
			break;
		frame = cvCloneImage(frame);

		IplImage* imgHSV = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 3);
		cvCvtColor(frame, imgHSV, CV_BGR2HSV); //Change the color format from BGR to HSV

		IplImage* imgThresh = GetThresholdedImage(imgHSV);

		cvShowImage("Ball", imgThresh);
		cvShowImage("Video", frame);

		//Clean up used images
		cvReleaseImage(&imgHSV);
		cvReleaseImage(&imgThresh);
		cvReleaseImage(&frame);

		//Wait 80mS
		int c = cvWaitKey(80);
		//If 'ESC' is pressed, break the loop
		if ((char) c == 27)
			break;

	}

	cvDestroyAllWindows();
	cvReleaseCapture(&capture);

	return 0;
}