FCam
FCam tutorial at ICCV 2011

Computational photography has become increasingly popular in recent years, but APIs for controlling cameras have not kept up with the demands of computational photography applications. This issue was addressed by the ``Frankencamera'' architecture and its corresponding ``FCam'' API, both of which were presented at SIGGRAPH 2010. Since then, researchers, educators, and enthusiasts have begun using FCam to implement their own novel camera applications or teach others to do so. This course will aim to encourage this by going into detail on the rationale behind FCam and how to use it.

This year at ICCV 2011 we will teach a course that demonstrates FCam's use by building from simple examples, working up to a point-and-shoot camera application, and then going beyond that with a sequence of computational photography applications. Thus the course will not only teach FCam, but will also serve as a primer in the basic algorithms in photography and computational photography. The main focus will be on using FCam to develop your own camera applications, but we will also discuss how educators can use FCam in their computational photography courses.

The course slides are here, and slides with speaker notes are here.

Source code examples

Getting started with FCam: Several examples of increasing complexity that cover the basic use of the FCam API. All examples are using FCam API and run on Nokia N900. In order to compile and run these examples you'll need to install first the development environment as described in the Getting started section.

Building a point-and-shoot camera with FCam: Several examples of increasing complexity that cover the basic functionalities of a point-and-shoot camera including: displaying the viewfinder, auto exposure, auto white balance, auto focus, user control etc. All examples are using FCam API and run on Nokia N900. In order to compile and run these examples you'll need to install first the development environment as described in the Getting started section.

OpenGL ES 2.0 for Image Processing: OpenGLES2 examples for Nokia N900. The examples illustrate the use of EGL for interfacing between X11 windowing system and OpenGLES. Please install first the development environment as described in the Getting started section.

ARM NEON extension for application acceleration Examples illustrating the use of ARM NEON on Nokia N900.