Image Processing Toolbox User's Guide |

**Defining the Transformation Data**

Before you can perform a spatial transformation, you must first define the parameters of the transformation. The following sections describe two ways you can define a spatial transformation.

With either method, you pass the result to the `maketform `

function to create the `TFORM`

structure required by `imtransform`

.

**Using a Transformation Matrix**

The `maketform`

function can accept transformation matrices of various sizes for N-D transformations. Because `imtransform`

only performs 2-D transformations, you can only specify 3-by-3 transformation matrices.

For example, you can use a 3-by-3 matrix to specify any of the affine transformations. For affine transformations, the last column must contain 0 0 1 (`[zeros(N,1); 1]`

). You can specify a 3-by-2 matrix. In this case, `imtransform`

automatically adds this third column.

The following table lists the affine transformations you can perform with `imtransform`

along with the transformation matrix used to define them. You can combine multiple affine transformations into a single matrix.

**Using Sets of Points**

Instead of specifying a transformation matrix, you optionally use sets of points to specify a transformation and let `maketform`

infer the transformation matrix.

To do this for an affine transformation, you must pick three non-collinear points in the input image and in the output image. (The points form a triangle.) For a projective transformation, you must pick four points. (The points form a quadrilateral.)

This example picks three points in the input image and three points in the output image created by the translation performed in Example: Performing a Translation. The example passes these points to `maketform`

and lets `maketform`

infer the transformation matrix. The three points mark three corners of one of the checkerboard squares in the input image and the same square in the output image.

in_points = [11 11;21 11; 21 21] out_points = [51 51;61 51;61 61] tform2 = maketform('affine',inpts,outpts)

To view the transformation matrix created by `maketform`

, look at the `tdata`

field of the `TFORM`

structure. The following shows the transformation matrix for the forward transformation that is stored in the `T`

field of the `tdata`

structure. Note that `maketform`

created the same as transformation matrix as the one created in Step 2: Define the Spatial Transformation. For more information about the `TFORM`

structure, see Contents of a TFORM Structure.

Example: Performing a Translation | Creating TFORM Structures |

© 1994-2005 The MathWorks, Inc.