projective2d

2-D projective geometric transformation

Description

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

Creation

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

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 an affine2d 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

invertInvert geometric transformation
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardApply forward geometric transformation
transformPointsInverseApply 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');

Create a geometric transformation object. This example combines rotation and tilt into a transformation matrix, tm. Use this transformation matrix to construct 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);
figure
imshow(outputImage);

Extended Capabilities

Introduced in R2013a