Computational Photography
Spring 2019
Instructor: Nima Kalantari

Course information

Time and location: MWF 1:50 - 2:40 pm in 126 HRBB
Office hours: T 1:00 - 2:00 pm
Office location: 527B HRBB


Computational photography is a collection of computational algorithms and system designs (e.g., sensors, optics) to avoid the limitations of standard cameras and enable novel applications. In recent years, there has been increasing interest in computational photography because of the widespread use of the cameras by the general public through smartphones and other cheap imaging devices. In this course, we first discuss the cameras and the image formation process. We then study basic image and video processing tools like sampling, filtering, and pyramids. Finally, we discuss several image-based algorithms, such as image retargeting, high dynamic range imaging, and texture synthesis.


Programming experience (MATLAB or Python), as well as knowledge of linear algebra and calculus is necessary. Basic knowledge of computer graphics and vision, as well as image processing is helpful but not necessary.


The primary reference of the course is the following book, which covers most of the topics related to computational photography:

Computer Vision: Algorithms and Applications, by Richard Szeliski, 2010



Date Topic Slides Reading Assignments
Jan 14 Introduction and Overview pdf, pptx Szeliski Ch. 1
Jan 16 Camera and Image Formation pdf, pptx Szeliski Ch. 2
Jan 18 Camera and Image Formation See above Szeliski Ch. 2
Jan 21 MLK day - no class
Jan 23 Camera and Image Formation See above Szeliski Ch. 2
Jan 25 Color pdf, pptx Szeliski Ch. 2
Jan 28 Color See above Szeliski Ch. 2 Hw 1 out
Jan 30 Sampling and Filtering pdf, pptx Szeliski Ch. 2.3.1 & 3.2
Feb 1 Sampling and Filtering See above Szeliski Ch. 2.3.1 & 3.2
Feb 4 Frequency Domain pdf, pptx Szeliski Ch. 3.4
Feb 6 Frequency Domain See above Szeliski Ch. 3.4
Feb 8 Pyramids pdf, pptx Szeliski Ch. 3.5 Hw 1 due
Feb 11 Blending and Compositing Szeliski Ch. 9.3 Hw 2 out
Feb 13 Morphology Szeliski Ch. 3.3.2
Feb 15 Point Processing and Image Warping
Feb 18 Point processing and Image Warping
Feb 20 Image morphing
Feb 22 Homographies and Mosaics Hw 2 due
Feb 25 Automatic Image Alignment and RANSAC
Feb 27 Automatic Image Alignment and RANSAC
Mar 1 Image Retargeting
Mar 4 Video Textures
Mar 6 Texture synthesis and filling
Mar 8 Image Analogies and Scene Completion
Mar 11 - 15 Spring break - no class
Mar 18 Image Analogies and Scene Completion
Mar 20 Matting
Mar 22 Recovering High Dynamic Range
Mar 25 Project Proposal Presentations
Mar 27 Project Proposal Presentations
Mar 29 Project Proposal Presentations
Apr 1 Tone mapping
Apr 3 Stereo
Apr 5 Modeling light and Lightfields
Apr 8 Modeling light and Lightfields
Apr 10 Image-based lighting
Apr 12 Visual Data and the Internet
Apr 15 Visual Data and the Internet
Apr 17 Deblurring
Apr 19 Reading day - no class
Apr 22 Coded Exposures and Apertures
Apr 24 Final Project Presentations
Apr 26 Final Project Presentations
Apr 29 Final Project Presentations

*Schedule might change during the semester.


The slides in this class are heavily based on the slides from other instructors. Specifically, many slides are the exact or modified version of the slides by Alexei A. Efros, James Hays, and Rob Fergus, who in turn have used materials from Steve Seitz, Rick Szeliski, Paul Debevec, Stephen Palmer, Paul Heckbert, David Forsyth, Steve Marschner, Fredo Durand, Bill Freeman, and others, as noted in the slides. The instructor gives full permission to use these slides for academic and research purposes, but please maintain all the acknowlegements.