[libdc1394-devel] Camwire - generic camera API
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Johann S. <j.s...@ir...> - 2004-03-25 03:02:17
|
Hi List I have today released Camwire under LGPL: http://kauri.auck.irl.cri.nz/~johanns/software.html Camwire defines a set of C functions that provides the basic functions needed to control a digital camera from a computer. It is primarily intended for C programmers who would like to work at a higher level of abstraction than the low-level camera libraries and drivers. The main functions are: * Run/stop camera * Single-shot/continuous mode * Trigger source internal/external * External trigger polarity rising/falling * Frame rate * Shutter speed * Frame dimensions width/height/depth * Frame offset left/top * Number of frame buffers * Capture a frame by waiting/polling/copying * Get time stamp of last frame * Get serial number of last frame * Flush frame buffers * Reset camera * etc. I wrote Camwire because I found that libdc1394 is very closely wrapped around the IIDC DCAM spec and I needed something simpler. Eventually it was over 7000 lines of code. Camwire hides a lot of libdc1394's internal details. Camwire's interface is implementation-independent in the sense that the user (mostly) need not know or care whether the camera is on a Firewire, USB, CameraLink, or whatever. Of course it uses 1394 under the covers but almost nothing in the interface mentions that. Camwire reads simple text files for initial camera configurations and settings. Camwire tries to autodetect the supported formats, modes and features of the camera, and it suggests best-guess DCAM CSR configuration and camera settings. No more guessing which format/mode to try just to get a new camera going. There is an extended example of how to use Camwire in the examples subdirectory, called cammonitor. It is a command-line-based camera monitor which is useful in its own right. It even has a man page. Please send suggestions, bug reports and fixes to me. Developers are invited to extend Camwire to other buses like USB and CameraLink. If that happens we may decide to put the project on Sourceforge. Thanks to Damien Douxchamps and Dan Dennedy for applying my libdc1394 patches to get Camwire working the way I like it. Johann -- ^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^ Johann Schoonees Imaging & Sensing Team Industrial Research Limited, PO Box 2225, Auckland, New Zealand Phone +64 9 9203679 Fax +64 9 3028106 http://www.is.irl.cri.nz/ |