CS 194/294. Image Manipulation and Computational Photography


Computational Photography is an emerging new field created by the convergence of computer vision, computer graphics, and photography. Its role is to overcome the limitations of the traditional camera by using computational techniques to produce a richer, more vivid, perhaps more perceptually meaningful representations of our visual world. The aim of this advanced undergraduate course is to study ways in which modern image manipulation and computer vision algorithms can be used to take samples from the real world (images and video) and generate compelling visual representations. Covered topics will include: cameras and image formation, human visual perception, modern image processing (blending, compositing, warping, morphing, seam carving, texture synthesis, image alignment, etc), image mosaics, single-view 3D reconstruction, image-based lighting, HDR capture and display, methods and applications to Big Visual Data. This is a project-heavy course with an emphasis on implementation of the algorithms presented in class. The course will require very good programming skills, working knowledge of linear algebra, and a love for pixels. The course does not require CS184 but complements it, and will also serve as preparation for students interested in taking CS280. Previous version of this course can be found here:

General Catalog