VIZA 654 / CSCE 646 : Digital Image
Fall 2020

Project 07: Transformations and Warping First Review: Oct. 26
Submissions Due: Nov. 02
 

Problem Description:

You will develop an affine transformation tool that uses 3x3 matrices to transform images.

Project Requirements:
You are supposed to implement following methods to get the full credit. Each one of the is equally weighted. To get the credit, your results must not have unwanted artifacts such as holes. To avoid these artifacts, you will need to use inverse mapping along with antialasing techniques you used before.

  1. Linear Transformations that can be done by 2x2 matrices: Rotation, Scaling, Shear, Mirror
  2. Transformations that require 3x3 matrices: Translation and Perspective
  3. Bilinear warping
  4. Any interesting inverse transformation that can be provided by an inverse function
Bonus: Any additional work with bi-quadric or bi-cubic tranformations can give you bonus points up to half of the project credit. In this case, you need to use a forward transformation and open-GL.

For the required parts of the project, implement your operations only using the basic programming operations such as while or for loops and basic mathematical operations such as addition, subtraction, multiplication, division and power. In other words, no high level operation provided by some programming languages such as matrix multiplication or matrix inversion is allowed.


Project Submission:

Please write the program in either Processing or Java or C or C++. For C and C++ use OpenGL and GLUTgraphics routines for the display. Upload your program and all essential files to webassign as a "as small as possible" zip directory. In your program, include comments about the program and your name. Also make sure to provide information that and instructions on how to run it.