I just wanted to say thanks for this awesome thread.  With your procedure 
and code, I have VGA capture now working too.  I would like to add the 
following comments:

1) I am using a Logitech C230 camera (looks like an eyeball).  So you can 
add this to the list of cameras that support MJPG capture mode with full 
JPEG output.
2) I am not getting a full 30 fps, only about 24.  But there are 
differences between my setup and yours.  I am running Ubuntu 12.04 
(Precise) + LXDE, and haven't really optimized much except for building 
libjpeg-turbo and rebuilding OpenCV as you suggest.
3) I built OpenCV from source on the BBB without using distcc or an 
external thumb drive.  I am booting from a 4GB uSD card.  It built in 3-4 
hours.

Thanks again!
 Jim


On Tuesday, September 11, 2012 10:32:07 AM UTC-4, p_lin wrote:
>
> Hi,
>
> I'm running Ubuntu 11.10 and I'm trying to develop an application using 
> opencv and a webcam. I'm running into problems whenever I try for 
> resolutions higher than 320x240.  I tried using the Ps3Eye (driver is 
> gspca_ov534) and the logitech C260 (driver is uvcvideo). At 320x240 it 
> seems to work fine and I get a saved image with the occasional "select 
> timeout" error.
>
> However, when I try to run at 640x480 I get this output (with a black 
> image file):
>
> VIDIOC_QUERYMENU: Invalid argument
> VIDIOC_QUERYMENU: Invalid argument
> VIDIOC_QUERYMENU: Invalid argument
> VIDIOC_QUERYMENU: Invalid argument
> Resolution set, entering loop... 
> select timeout
> select timeout
> Saving Image
>
>
> Any ideas on how to fix this error?  It would be great to be able to save 
> higher resolution images... are there other ways to grab a still from the 
> webcam?
>
>
> Enter code here...
>     CvCapture* capture = 0;
>
>    capture = cvCaptureFromCAM(-1);
>  
>
>     //set camera resolution to low, perform object detection
>    //then set resolution to high, and capture images
>
>     cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 640 );
>    cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 480 );
>
>     if (!capture)
>        printf("error opening capture");
>    else
>    {
>        printf("Resolution set, entering loop... \r\n");
>            IplImage* image = cvQueryFrame( capture );
>            image = cvQueryFrame( capture );
>            
>            if( !image )
>                return 0;
>
>                         printf("Saving Image\n\r");
>                        cvSaveImage("cam.jpg", image);  //save the image
>                        //start=time(NULL);  //get current time in seconds
>                
>    }
>
>
>
>
>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to