title: OpenCV cannot find video device
body: <p>I cannot use webcam as input device for OpenCV 2.3.1 in Ubuntu 11.04, this code works fine on windows:</p>
  
  <pre><code>#include "cv.h"
  #include "highgui.h"
  #include &lt;stdio.h&gt;
  
  // A Simple Camera Capture Framework
  int main() {
  
    CvCapture* capture = cvCaptureFromCAM(-1);
    if( !capture ) {
      fprintf( stderr, "ERROR: capture is NULL \n" );
      getchar();
      return -1;
    }
  
    // Create a window in which the captured images will be presented
    cvNamedWindow( "mywindow", CV_WINDOW_AUTOSIZE );
  
    // Show the image captured from the camera in the window and repeat
    while( 1 ) {
  
      // Get one frame
      IplImage* frame = cvQueryFrame( capture );
      if( !frame ) {
        fprintf( stderr, "ERROR: frame is null...\n" );
        getchar();
        break;
      }
  
      cvShowImage( "mywindow", frame );
      // Do not release the frame!
  
      //If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
      //remove higher bits using AND operator
      if( (cvWaitKey(10) &amp; 255) == 27 ) break;
    }
  
    // Release the capture device housekeeping
    cvReleaseCapture( &amp;capture );
    cvDestroyWindow( "mywindow" );
    return 0;
  }
  </code></pre>
  
  <p>It returns "ERROR: capture is NULL "</p>