Preprocess CP2TFORM

Removes folded over triangles in piecewise linear image transformation, so cp2tform always works.

You are now following this Submission

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 (2026). Preprocess CP2TFORM (https://www.mathworks.com/matlabcentral/fileexchange/26985-preprocess-cp2tform), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0