Image Analogies


Brian Smith

Introduction

This project was created as a final project for Dr. Wood's CSC 471 Introduction to Computer Graphics class. I personally decided on this topic as the prompt was open-ended.

The image analogies program takes three Bitmap images in, and will produce one output image. Similar to a word analogy, the program will be able to detect the relationship between two pictures and apply this to a third picture. Examples of this can be seen on the pictures page.

The program consists of two algorithms, one which executes in about 20-40 seconds. If this algorithm fails, the program will try to apply a second algorithm which takes about 30 minutes to apply (on a 800 x 600 picture).

Known problems

  • The second algorithm is very lengthy, and has a very 40-70% chance of working perfectly
  • There is no "fail case" for the second algorithm, so there is a small chance for unpredictable output
  • Blurring is a known transformation that is not handled
  • only 800 x 600 pictures have been tested
  • Because GLUT flips the y-axis, the pictures are displayed upside down.

Future improvements

  • Improve the performance of the second algorithm
  • Improve functionality for different transformations
  • Fix problems stated above

Resources

Originally created by New York Universities Media Research Lab.

SIGGRAPH 2001, by Aaron Hertzmann (New York University / Microsoft Research), Charles E. Jacobs (Microsoft Research), Nuria Oliver (Microsoft Research), Brian Curless (University of Washington), and David H. Salesin (University of Washington / Microsoft Research).

http://www.mrl.nyu.edu/projects/image-analogies/

Contact Me | Last Updated: March 21, 2007 | Brian Smith