# projective2d

2-D projective geometric transformation

## Description

A `projective2d` object encapsulates a 2-D projective geometric transformation.

## Creation

You can create a `projective2d` object using the following methods:

• `fitgeotrans` — Estimates a geometric transformation that maps pairs of control points between two images

• The `projective2d` function described here

### Syntax

``tform = projective2d``
``tform = projective2d(A)``

### Description

````tform = projective2d` creates a `projective2d` object with default property settings that correspond to the identity transformation.```

example

````tform = projective2d(A)` sets the property `T` with a valid projective transformation defined by nonsingular matrix `A`.```

## Properties

expand all

Forward 2-D projective transformation, specified as a nonsingular 3-by-3 numeric matrix.

The matrix `T` uses the convention:

`[x y 1] = [u v 1] * T`

where `T` has the form:

```[a b c;... d e f;... g h i]; ```

The default of `T` is the identity transformation.

Data Types: `double` | `single`

Dimensionality of the geometric transformation for both input and output points, specified as the value 2.

## Object Functions

 `invert` Invert geometric transformation `outputLimits` Find output spatial limits given input spatial limits `transformPointsForward` Apply forward geometric transformation `transformPointsInverse` Apply inverse geometric transformation

## Examples

collapse all

This example shows how to apply rotation and tilt to an image, using a `projective2d` geometric transformation object created directly from a transformation matrix.

Read a grayscale image into the workspace.

`I = imread('pout.tif');`

Combine rotation and tilt into a transformation matrix, `tm`. Use this transformation matrix to create a `projective2d` geometric transformation object, `tform`.

```theta = 10; tm = [cosd(theta) -sind(theta) 0.001; ... sind(theta) cosd(theta) 0.01; ... 0 0 1]; tform = projective2d(tm);```

Apply the transformation using `imwarp`. View the transformed image.

```outputImage = imwarp(I,tform); imshow(outputImage)``` ## Version History

Introduced in R2013a