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.