This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.


2-D local weighted mean geometric transformation


A LocalWeightedMeanTransformation2D object encapsulates a 2-D local weighted mean geometric transformation.


You can create a LocalWeightedMeanTransformation2D object using the following methods:

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

  • images.geotrans.LocalWeightedMeanTransformation2D — Creates a LocalWeightedMeanTransformation2D object using coordinates of fixed points and moving points, and a specified number of points to use in local weighted mean calculation


expand all

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

Object Functions

outputLimitsFind output spatial limits given input spatial limits
transformPointsInverseApply inverse geometric transformation


expand all

Fit a local weighted mean transformation to a set of fixed and moving control points that are actually related by a global second degree polynomial transformation across the entire plane.

Set up variables.

x = [10, 12, 17, 14, 7, 10];
y = [8, 2, 6, 10, 20, 4];
a = [1 2 3 4 5 6];
b = [2.3 3 4 5 6 7.5];
u = a(1) + a(2).*x + a(3).*y + a(4) .*x.*y + a(5).*x.^2 + a(6).*y.^2;
v = b(1) + b(2).*x + b(3).*y + b(4) .*x.*y + b(5).*x.^2 + b(6).*y.^2;
movingPoints = [u',v'];
fixedPoints = [x',y'];

Fit local weighted mean transformation to points.

tformLocalWeightedMean = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,6);

Verify the fit of the LocalWeightedMeanTransformation2D object at the control points.

movingPointsComputed = transformPointsInverse(tformLocalWeightedMean,fixedPoints);
errorInFit = hypot(movingPointsComputed(:,1)-movingPoints(:,1),...


The local weighted mean transformation infers a polynomial at each control point using neighboring control points. The mapping at any location depends on a weighted average of these polynomials. The n closest points are used to infer a second degree polynomial transformation for each control point pair. n can be as small as 6, but making it small risks generating ill-conditioned polynomials.

Introduced in R2013b

Was this topic helpful?