Tuesday, September 14, 2010

webcam issues

One problem I ran into today was a strange issue with the webcam. For my project, I need to capture video at 30 fps and perform some image analysis. I'm using the luvcview project as a starting point.

The problem is that I wanted to shut off auto-exposure, and that didn't seem to work with my particular webcam. I'm using WC1200RED webcam, which internally has an Arkmicro Technologies Inc. device (18ec:3299). According to the Linux uvc page this is model number QC3231, although I don't see this model number anywhere (although I since tossed the packaging).

After playing around with the camera for a bit, I stumbled upon a way to disable auto-exposure with the following change:

case A_EXPOSURE_OFF:
control.id =V4L2_CID_EXPOSURE_AUTO;
- control.value =8;
+ control.value =2;
if ((value = ioctl(videoIn->fd, VIDIOC_S_CTRL, &control)) < 0)
printf("Set Auto Exposure off error\n");



I can't find this documented anywhere, but it does seem to work; it's probably worth posting a question on the UVC list at some point.

2 comments:

  1. hi! thanks for the articles,
    i have a problem with my webcam if you can help me,
    i installed ubuntu 11.10 on my beagleboard and i'm trying to run a program using opencv and accessing the webcam however it can't acces it
    it's problem with ubuntu uvc driver
    sometimes i see /dev/video0 and sometimes not
    specially when i execute my program
    and when i excute dmesg after taht i see:
    usb 2-1 :disconnect...;
    please help me!!!

    ReplyDelete
  2. Sorry for the delayed response, I just saw your comment!

    Regarding your problem - I wonder if it's a power drain issue; i.e., perhaps the Beagle Board doesn't provide enough power from it's internal USB port for your webcam.

    Have you tried using an externally powered hub into which you plug the webcam?

    ReplyDelete