CS 4475 (3-0-3): Computational Photography – (Instructor: Irfan Essa) – This class explores perceptual and technical aspects of pictures, and more precisely the capture and depiction of reality on a 2D medium. The scientific, perceptual, and artistic principles behind image-making will be emphasized. Topics include the relationship between pictorial techniques and the human visual system; intrinsic limitations of 2D representations and their possible compensations; and technical issues involving depiction. Technical aspects of image capture and rendering, and exploration of how such a medium can be used to its maximum potential, will be examined. Students are strongly encouraged (not required) to bring their digital cameras and a laptop to facilitate experiments.


  • Introduction to Computational Photography
  • History of Photography and Computational Photography
  • Digital Representation of Images
  • Image Processing, Filtering
  • Feature Detection and Matching
  • Cameras, Optics, and Sensors
  • Light, Aperture, and Exposure
  • Image Editing and Synthesis
  • Image Blending
  • Epsilon Photography
  • Panoramas
  • Photosynth
  • High-Dynamic Range Imaging
  • Image Mosaics, Montages, Collages
  • Computational Cameras
  • Coded Photography
  • Computational Video
  • Video Textures and Video Synthesis
  • Image and Video Stabilization
  • Plenoptic Imaging and Light Fields

Overall, in this class. you will learn about:

  • The Medium of Photography (History to Modern Technologies)
  • Digital Imaging (Sensors to Software)
  • Computational Processes associated with Imaging and Photography
  • Computation as applied to Digital Media.
  • Image Analysis and Synthesis
  • Images and Photography on the Web/Internet
  • Storytelling with images (and computation).

Text & Reading Material.

  1. [RS] Richard Szeliski (2010) Computer Vision: Algorithms and Applications; by (see link or link for a draft of this book available online)
  2. Alternatively (not required, but may help) [PF] Forsyth & Ponce (2012), Computer Vision: A Modern Approach, Pearson (see link)
  3. Other material available online.


Assignments and ideas on this syllabus build on those from everyone who has taught this material before. See [Resources] for pointers to other information that supports this class.