Hi Daniel,

On Monday 13 July 2009 12:34:04 Daniel Crews wrote:
> Background:
> I have been trying to find a good value low cost webcam for computer vision
> on linux. My basic plan is to set the exposure high enough to max the
> framerate, and use gain to make the markers I'm tracking visible. The
> ugliness resulting from this shouldn't matter. Unfortunately, there seems
> to be no list of what webcams allow you to set the exposure manually, and
> the grab bag of various models I have now all seem to not let you do that.
> I'm looking at trying the Philips SPC 900NC which is said to work with the
> PWC controller, but seems discontinuedish and more expensive than I'd like
> to pay... I'm willing to pay for the quality if I need it(and the product
> has it!), but I'm making a system where I'll want to add as many cameras as
> possible, so cheap is good (that's why I'm not going for firewire cameras,
> as much as I would like to).
>
> Specific questions:
> 1.)Is there anything wrong with using  "# v4lctl -c /dev/videoX list" to
> check for manual exposure settings? Or could this command miss a camera
> that can do it with just the stock UVC driver? (It'd be helpful to see an
> example of what a camera that can do that would look like as well, eg. what
> to look for.)

It might in theory miss cameras that can do manual exposure, but in practice I 
don't think it would. UVC allows for vendor-specific extensions through so-
called extension units. While a camera could implement manual exposure through 
an extension unit, it would make little sense as the UVC standard describes 
how to handle manual exposure through the Camera Terminal.

You can also use lsusb to list controls supported by a camera. Here's a 
snippet of the output with a camera that supports manual exposure:

      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          0
        iTerminal               0
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x0000000a
          Auto-Exposure Mode
          Exposure Time (Absolute)

Lokk for an Input Terminal with wTerminalType set to 0x0201 (Camera Sensor), 
and check the bmControls field. It's a bit field that lists the supported 
controls. lsusb decodes it for you and will print the meaning of each set bit.

> 2.) Is there a list with what cameras do manual exposure? (And what frame
> rates they can actually reach...)

None that I'm aware of.

> 3.) If not, should we try to extend the current UVC linux cam list with
> this kind of extra data? Or at least bring this scattered data together in
> a single, if separate, repository? (Perhaps on the wiki...)

I've been thinking of adding lsusb output's for all cameras listed on the 
website. It would also be nice to have a wiki-like page for each camera where 
users could put comments. I unfortunately don't have time to work on that 
right now.

> 4.) In the meantime, does anyone have any suggestions? Particularly so if
> you know of a camera that does infra-red out of box or is easy to mod with
> the exposed film trick, as I'd prefer to make the markers subtle to the
> human eye.
> 5.) Some of these questions pertain to this mailing list, let me know if
> some of them don't and where I should take them elsewhere....?

Best regards,

Laurent Pinchart

_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to