Preprocess CP2TFORM

Removes folded over triangles in piecewise linear image transformation, so cp2tform always works.
Updated 17 Mar 2010

View License

When CP2TFORM is used in piecewise linear image transformation mode, it uses triangulation to calculate the local image transformation. Sometimes a good triangulation of basepoints gives folded triangles when used with the input points. The function CP2TFORM try's to remove the controlpoints causing the folding, but often fails with the error:

Eliminated * control point pair(s).
Fold-over triangles remain. See CP2TFORM reference page.

This function PreProcessCp2tform removes all control points which cause fold-over triangles with cp2tform.

example code :
xy=[input_points2(:,2) input_points2(:,1)];
uv=[base_points2(:,2) base_points2(:,1)];
[xy uv]=PreProcessCp2tform(xy,uv);
trans_prj = cp2tform(xy,uv,'piecewise linear');
J = imtransform(I,trans_prj,'Xdata',[1 100],'YData',[1 100],'XYscale',1);

Cite As

Dirk-Jan Kroon (2024). Preprocess CP2TFORM (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Delaunay Triangulation in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes