FCam is an open-source C++ API for easy and precise control of
digital cameras. It allows full low-level control of all
camera parameters on a per-frame basis, making it easy to
rewrite the camera's autofocus routine, to capture a burst of
images all with different parameters, and to synchronize the
operation of the camera lens and flash with all of the above.
FCam is the result of
the Camera
2.0 joint research project on programmable cameras and
computational photography
between Marc
Levoy's group in
the Stanford Computer
Graphics Laboratory
and Kari
Pulli's team
at Nokia Research Center Palo Alto. (Kari moved to NVIDIA in Apr 2011, and right now can take an intern working on FCam; contact karip@nvidia.com.)
A paper
describing the FCam architecture, the motivation behind it, and
some applications, was presented at SIGGRAPH 2010.
Currently, FCam supports the Nokia N900, as well as our
lab-built F2 Frankencamera. Our library and drivers will work
on any N900 running the latest firmware (PR1.3), so if you want
to give it a spin, see our getting
started page!
Are you looking for
FCamera, our N900 demo application that lets you have full manual
control of the N900, supports RAW capture, and does HDR viewfinding?
Then
go here for details!
While FCamera
supports capturing an HDR burst of raw files, it does not
composite the output HDR jpeg for you right then and
there. HDRCapture is Nokia Research Center Palo Alto's demo
application that uses FCam to do just that. It's a camera
application for the N900 that displays a live HDR viewfinder (by
alternating between two exposure times and averaging the
results). It meters the scene, decides how many photos to take
in the HDR bracket and at what exposures, and then composites
the photos for you as soon as they are captured. It was one of
the apps described in
the
Frankencamera
paper.
You can find it in the maemo extras-testing repository. To
activate this repository and download this app to your N900,
do the following:
In the Application Manager:
- Tap the title bar to bring up the menu
- Select 'Application catalogs'
- Select 'New'
- Enter a catalog name of 'Maemo extras-testing'
- Enter a web address of http://repository.maemo.org/extras-testing
- Enter a distribution of 'fremantle'
- Enter components of 'free non-free'
- Select 'Save'
- Tell the Application Manager to update. This may take a while.
- Select Download, All, and start typing "hdrcapture". It
should highlight the application. Click on it to install
it.
Be warned, this is a beta app, so be patient if it crashes occasionally :)
This demo
application from Nokia Research Center Palo Alto takes two
photos with different settings back-to-back (this is something
the FCam API is very good at). The first frame has a high ISO
and short exposure time, and the second has a low ISO and longer
exposure time. The first frame tends to be noisy, while the
second instead exhibits blur due to camera shake. This
application combines the two frames to create an output that's
better than either. This was another application described in
the
Frankencamera
paper, and is also available in extras-testing under the
name "lowlight".