Hi all,
I've written a stand-alone software autofocus application to be used
with Logitech USB cameras with proprietary focus extension (e.g. the
QuickCam Pro 9000). It can be downloaded from
http://alex.seewald.at/projects, current version is 0.05.
What this is: A stand-alone program you can start _before_ using the
USB cam in a given setting (e.g. video conferencing) and which will
compute the correct focus once for a given scene. This focus will
remain constant even when the scene changes afterwards.
What this is not: A continuous adaptation of the focus during camera
usage (similar to the autofocus under Windows). This is because necessary
frameworks are not yet in place.
Enjoy!
The used algorithm would be able to do a continuous on-line autofocus:
* stable performance from 176x144 to 640x480 resolution
* quite fast (<15ms to process 640x480, <2ms to process 176x144 frame)
[still some 10-20% potential for optimization]
* Only for MJPEG video format, YUV currently not supported.
However, I would need a framework that allows to...
1)process all raw frames displayed by a second application. V4L2 does not
allow concurrent access, and there is no universal video splitter.
2)set the focus under exclusive control of the autofocus [should be ok]
3)prevent some frames being forwarded to the application [optional,
to prevent blurry images during refocussing]
4)recode raw frames to a different format [optional, e.g. for
YUV->JPEG encoding to make the autofocus work with YUV video]
Processing for 1-4) should be done in userspace. It would be possible to
patch the driver, but such a patch would never make it upstream into the
kernel because of JPEG licensing issues. And of course it would be
really messy. :->>
This is probably out-of-scope for the linux-uvc driver, and will soon be
raised on the V4L2 mailing list. Helpful suggestions and volunteers
are of course welcome.
Best,
Alex
--
Dr. Alexander K. Seewald +43(664)1106886
Seewald Solutions
------------------------------------------------
Information wants to be free;
Information also wants to be expensive (S.Brant)
--------------- alex.seewald.at ----------------
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel