Beglebone webcam

Eduardo,

I was able to get my LifeCam VX-7000 working fine with OpenCV on a Beaglebone (Ubuntu 12.04, kernel 3.2.23) but only at 320x240 resolution. The same camera works fine on a Beagleboard-XM at 640x480. From what I understand there are still USB issues on the Beaglebone which seem to be preventing anyone from going beyond 320x240 resolution.

I also ran into a problem with OpenCV that may be causing you grief. OpenCV calls on video-4-linux (v4l2) to request RGB frames from the camera. My camera was delivering JPEG compressed images which v4l2 was decompressing using a very slow software decoder. The only way I was able to get around this was to write my own v4l code to grab (uncompressed) YUV frames from the camera, convert them to RGB, and then wrap the pixels in an OpenCV Mat object. You can see my code at https://bitbucket.org/beldenfox/cvcapture/. Be warned: I’ve only tested that code with one camera, the LifeCam VX-7000.

You can see similar v4l2 capture code at http://v4l2spec.bytesex.org/spec/capture-example.html, though this does not include the YUV => RGB conversion or the OpenCV wrapper code.

Cheers,
Martin

I used a webcam at 640x480 using opencv. But I needed compile opencv because troubles while fetching images with pre compiled packages.

Good to hear. I can run my YUV capture code at 640x480 but the behavior is hit-or-miss; some frames are good and others contain garbage from previous frames.

What camera are you using? And what did you change in OpenCV when you recompiled?