# Computational Photography

## Free Course

Offered at Georgia Tech as CS 6475

## Artificial Intelligence

• ###### Estimated time

Approx. 4 Months

Intermediate

• ###### Prerequisites
See prerequisites in detail
###### In collaboration with

This class explores how computation impacts the entire workflow of photography, which is traditionally aimed at capturing light from a 3D scene to form a 2D image. A detailed study of the perceptual, technical and computational aspects of forming pictures, and more precisely the capture and depiction of reality on a (mostly 2D) medium of images is undertaken over the entire term. The scientific, perceptual, and artistic principles behind image-making will be emphasized, especially as impacted and changed by computation.

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 capturing light to form images. Technical aspects of image capture and rendering, and exploration of how such a medium can be used to its maximum potential, will be examined. New forms of cameras and imaging paradigms will be introduced.

## What you will learn

1. ##### Introduction
• What is Computational Photography?
• Dual Photography
• Panorama
2. ##### Digital Imaging
• Point Processes, Smoothing
• Blending Modes, Convolution and Cross-Correlation
• Lenses
• Exposure
• Sensor
4. ##### Comp Vision to Comp Photo
• Fourier Transform
• Blending
• Pyramids
• Panorama
• HDR
• Time Lapse
6. ##### Light Field
• Lightfield
• Lightfield Camera
7. ##### Blue / De-Blur
• Lucy-Richardon Blur
• Flutter Shutter
8. ##### Video
• Video
• Video Textures
• Video Stabilization

## Prerequisites and requirements

Students should be familiar with:

• College-level linear algebra and calculus: Knowledge of matrices, vectors, differentiation and integration, although the focus will be more on understanding and applying mathematical structures - not necessarily deriving your own;
• Physics: Vectors, optics;
• Probability theory: Distributions, density functions.

Programming assignments for this course can be completed either using Python-OpenCV (recommended platform) or Matlab/Octave. Working knowledge of either Python or Matlab would thus be required.

See the Technology Requirements for using Udacity.

## Why take this course?

You will undertake a hands-on approach over the entire term using computational techniques, merged with digital imaging processes to produce photographic artifacts. In addition to understanding how various elements of the computational photography pipeline function together to produce novel - and sometimes stunning - results, you will be given ample opportunity to appreciate and critique artifacts produced/curated by your peers.

Instructor

Instructor

Instructor