Computational Photography - CMPT 469-888, Winter 2018

When: (Tue 13:30-14:20) & (Thu 12:30-14:20)
Where: Tues: RCB 8100. Thus: BLU 10011.

Instructor: Yasutaka Furukawa (
Office hours: TASC I 8023 (11:00-12:30 Thu)

Qiang Zhu (
Office hours: (Location ASB 9810) 15:00-16:00 Fri
Schedule Projects
Piazza Resources

Course Description

This course is cross-listed with CMPT 888 G200. The aim of this course is to study ways in which samples from the real world (images and video) can be used to generate compelling computer graphics imagery. We will learn how to acquire, represent, and render scenes from digitized photographs. Several popular image-based algorithms will be presented, with an emphasis on using these techniques to build practical systems. This hands-on emphasis will be reflected in the programming assignments, in which students will have the opportunity to acquire their own images of indoor and outdoor scenes and develop the image analysis and synthesis tools needed to render and view the scenes on the computer.

Prerequisite is CMPT 361.


  • 4 coding assignments (15% x 4)
  • Final project report (30%)
  • Final project presentation (10%)
Students are encouraged to use MATLAB (with the Image Processing Toolkit) for the coding assignments. MATLAB is very easy to use and also makes the grading consistent. The final project can be of any programming language.


There is no required textbook for the course. However, the course material closely follows a free online textbook Computer Vision: Algorithms and Applications by Richard Szeliski for the most lectures.

Announcement, Questions and Discussion

We will use Piazza for announcement, questions and discussion. Here is the link. It is your responsibility to read all the posts on Piazza. Important announcements will be given there. Please register.

Late Policy

For a late submission, penalty of 10% score reduction per 2 hours is applied. If one submits an assignment within 2 hours after the deadline, the score becomes 90%. Within 4 hours, 80%. Within 6 hours, 70% and so on.

Academic Integrity

You are encouraged to talk about and discuss coding assignments and projects with your class-mates. You are allowed to use existing code/library (e.g., optimization library or vector calculus library), in which case, you have to explicitly describe it in your report. Besides the above case, every single line of code must be written by you, and you are not allowed to copy from other sources. Writing the code by exactly or closely following existing code is not technically copy-and-paste, but is also considered to be copy-and-paste. Use your fair judgement. You know what is good and bad. When in doubt, consult the instructor. You are expected to maintain the highest standards of academic integrity and refrain from the forms of misconduct.