Assignment 3: Gradient Domain/Resizing and Warping

From CS294-69 Image Manipulation and Computational Photography Fa11

Jump to: navigation, search


Assignment Due: Oct 24, 2011



The goal of this assignment is to implement one or more of the following papers on Light Fields or HDR/Tone-Mapping.

Gradient Domain

  • Gradient Domain High Dynamic Range Compression. Raanan Fattal, Dani Lischinski and Michael Werman. SIGGRAPH 2002. (pdf)
  • Poisson Image Editing. Patrick Perez, Michel Gangnet and Andrew Blake. SIGGRAPH 2003. (pdf)
  • Diffusion Curves. Alexandrina Orzan, Adrien Bousseau, Holger Winnemoeller, Pascal Barla, Joelle Thollot and David Salesin. SIGGRAPH 2008. (pdf)
  • Real-time Gadient Domain Painting. James McCann and Nancy Pollard. SIGGRAPH 2008. (pdf)
  • Ef´Čücient Gradient-Domain Compositing Using Quadtrees. Aseem Agarwala. SIGGRAPH 2007. (pdf)
  • GradientShop: A Gradient-Domain Optimization Framework for Image and Video Filtering. Pravin Bhat, C. Lawrence Zitnick, Michael Cohen and Brian Curless. (pdf)

Resizing and Warping

  • Improved Seam Carving for Video Retargeting. Michael Rubinstein, Ariel Shamir, Shai Avidan. SIGGRAPH 2008. (pdf)
  • Optimized Scale-and-Stretch for Image Resizing. Yu-Shuen Wang, Chiew-Lan Tai, Olga Sorkine and Tong-Yee Lee. SIGGRAPH Asia 2008. (pdf)
  • Optimizing Content-Preserving Projections for Wide-Angle Images. Robert Carroll, Maneesh Agrawala and Aseem Agarwala. SIGGRAPH 2009. (pdf)
  • Multi-operator Media Retargeting. Michael Rubinstein, Ariel Shamir, Shai Avidan. SIGGRAPH 2009. (pdf)


As in Assignments 1 and 2, your task is to implement one or more of the papers described above. While it is adequate to simply implement the ideas as described in the paper(s) it is worth thinking about how you might go beyond what is described in the paper(s). New research ideas sometimes come from developing addressing the following issues:

  • Every technique has some limitations (well written papers usually describe some of them). Develop techniques to address one or more limitations.

  • Sometimes different papers present different techniques for addressing the same problem. Implement competing techniques and compare the strengths and weaknesses of them.

  • It is sometimes possible to combine ideas from multiple papers to produce a new hybrid technique that addresses a new problem. Develop a new way to combine the techniques your have read about to solve a new problem.

If you work alone you are responsible for implementing at least 1 of the papers. If your work in a group of 2, you must implement at least 1 paper and address one of the issues raised above (in doing so you are likely to have to implement a second paper) or implement 2 papers. Groups of 3 must implement at least 2 papers and address one of the issues raised above.

How to access Matlab

Using the username and password that we provide, you can log into the Windows PCs in 199 Cory or the Linux PCs in 330 Soda and run /share/b/bin/matlab from the command line. This will open Matlab for you. You can find more information on how to run Matlab on this MATLAB website.

We have Instructional licenses for the Image Processing Toolbox. It only runs on Instructional computers (a license requirement). There are instructions for the students on the MATLAB website.

Michael Tao put together a tutorial on how to use mex and MATLAB for image processing. The tutorial does a simple square blur. You might find it useful for this or the following assignments. You can download the tutorial files here. Thanks Michael!

How to create your wiki page

Begin by creating a new wiki page for this assignment. The title of the page should be of the form:


Replace Firstname and Lastname with your real first and last names. If you worked in a group use the following format instead:


You can create the page by entering a url of the following form into your browser:

To upload images to the wiki, first create a link for the image of the form [[Image:image_name.jpg]] (replacing image_name.jpg with a unique image name for use by the server). This will create a link you can follow that will then allow you to upload the image. Alternatively, you can use the "Upload file" link in the toolbox to upload the image first, and then subsequently create a link to it on your wiki page.


Add a link to your finished assignment here. The page you create should include images and a description explaining what you did to create the images. Please make sure that there is enough detail on the page for us to understand your results. But also try to be succinct.

Once you are finished editing the page, add a link to it here with full name as the link text. The wiki syntax will look like this: *[[A2-FirstnameLastname|Firstname Lastname]]. Hit the edit button for this section to see how I created the link for my name.

[add comment]
Personal tools