# Introduction

With image filtering, we were changing the range of image i.e. intensity values within the pixels $

With image transformations, we are changing the domain of images i.e. translation, stretch, squeeze etc $

We know the usual ones like stretch, squeeze, scale etc

But you can also change the perspective and affine.

# Image scaling

Uniform Scaling

xy=Mxy \begin{vmatrix} x^{\prime} \\ y^{\prime} \\ \end{vmatrix} = M \begin{vmatrix} x \\ y \\ \end{vmatrix}

Non-uniform Scaling

xy=a00b.xy \begin{vmatrix} x^{\prime} \\ y^{\prime} \\ \end{vmatrix} = \begin{vmatrix} a && 0 \\ 0 && b \\ \end{vmatrix} . \begin{vmatrix} x \\ y \\ \end{vmatrix}

Rotation

# Properties of Linear Transformations

  • Origin maps to origin
  • Lines map to lines
  • Parallel lines remain parallel
  • All ratios remain preserved

# Image Translation

To make this happen, we can't use the above approach

So, we go with Homegeneous Coordinates

  • Represent coordinates in 2 dimensions with a 3-djim vector
  • Add a 3rd coordinate to every 2d point
xy=>xyw \begin{vmatrix} x \\ y \\ \end{vmatrix} => \begin{vmatrix} x \\ y \\ w \\ \end{vmatrix}
(x,y,w)=>(x/w,y/w)(x,y,0)=> infinity (so not allowed)(0,0,0) is not allowed (x, y, w) => (x/w, y/w) \\ (x, y, 0) => \text{ infinity (so not allowed)} \\ (0, 0, 0) \text{ is not allowed} \\

# Degrees of Freedom

Are basically how many values you need to know within the transformation matrix to make the transformation happen. For example for a x-y translation, the degree of freedom is only 2

# Homogeneous Transformations

Homogeneous Translation Homogeneous Scaling Homogeneous Rotation Homogeneous Shearing

# Affine Transformations

Affine Transformation

# Projective Transformations

Projective Transformation

# Transformation Recovery Summary

transformation-recovery-summary