Book Description
Digital cameras, both in traditional form factors and as parts of cell phones, have become ubiquitous over the last decade. But for the most part, they remain black boxes to the end-user, and cannot be reprogrammed or modified. This has become an obstacle to researchers in the new field of computational photography, who want to use the growing computing power of digital cameras to create images no traditional camera could produce. This dissertation presents the Frankencamera platform, a digital camera system designed for computational photography. The Frankencamera is a fully open, fully programmable digital camera, which can be easily modified to test out new research ideas. The Frankencamera architecture allows for per-frame control of the capture process, and accurate synchronization of all the components that make up the camera. Based on this architecture, this dissertation details two hardware platforms: the F2, a flexible custom-built camera; and the Nokia N900, a commercial smartphone. Both platforms can be easily programmed at a high level using the FCam API, written to embody the Frankencamera architecture. Finally, this dissertation presents several sample applications for the Frankencamera platform. Several of these applications could not have been developed for any existing camera platform, and the ease and speed at which they were written show that the Frankencamera platform is a compelling tool for computational photography.