A method of spatialTransformProjective.

the homography best mapping the positions posA onto posB, by the direct linear transform

Syntax

T = spatialTransformProjective.fit(posA, posB)

Robust against outliers.

T = spatialTransformProjective.fit(posA, posB, weights=w)

The points weighted.

T = spatialTransformProjective.fit(posA, posB, robust=False) # plain least squares

Description

The equations x’ (h31 x + h32 y + 1) = h11 x + h12 y + h13, and likewise for y’, are solved by least squares, reweighted against outliers with Tukey’s bisquare unless robust=False. Both point sets are first centred and scaled, Hartley’s normalisation, so that points far from the origin do not dominate the fit.

A point with a missing position or no weight is dropped; at least four points are needed.

Input

posA vector3d, the positions in the first frame
posB vector3d, where they went in the second, one for each

Keywords

keyword default description
weights None array, the weight of every point pair
robust True reweight against outliers with Tukey’s bisquare
maxIter 50 the largest number of reweighting steps

Output

T spatialTransformProjective, T * posA close to posB

References

  • R. Hartley, In defense of the eight-point algorithm, IEEE Transactions on Pattern Analysis and Machine Intelligence 19 (1997) 580-593

See also

spatialTransformPoly.fit, spatialTransformProjective.byTilt, spatialTransformTilt, transform

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/spatialTransformProjective.fit_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.