主要内容

PiecewiseLinearTransformation2D

二维分段线性几何变换

描述

一个PiecewiseLinearTransformation2D对象封装了一个二维分段线性几何变换。

创建

您可以创建PiecewiseLinearTransformation2D对象,使用以下方法:

  • fitgeotrans函数,该函数估计映射两个图像之间控制点对的几何变换。

  • images.geotrans.PiecewiseLinearTransformation2D函数描述在这里。此函数创建一个PiecewiseLinearTransformation2D对象使用不动点和移动点的坐标。

描述

例子

tform = images.geotrans.PiecewiseLinearTransformation2D(movingPoints定点创建一个PiecewiseLinearTransformation2D对象给定的控制点坐标movingPoints而且定点,分别定义运动图像和固定图像中的匹配控制点。

输入参数

全部展开

x- - -y-移动图像中控制点的坐标,指定为2矩阵。控制点的数量必须大于或等于n

数据类型:|

x- - -y-固定图像中控制点的坐标,指定为2矩阵。控制点的数量必须大于或等于n

数据类型:|

属性

全部展开

输入和输出点的几何变换的维度,指定为值2。

对象的功能

outputLimits 给定输入空间极限求输出空间极限
transformPointsInverse 应用逆几何变换

例子

全部折叠

将分段线性变换拟合到一组固定和移动的控制点上,这些控制点实际上是由跨域的单个全局affine2d变换关联起来的。

创建一个2D仿射变换。

Theta = 10;tformAffine = affine2d([cosd(theta) -sind(theta) 0;Sind () cosd() 0;0 0 1])
T: [3x3 double]维数:2

任意选择6对控制点。

fixedPoints = [10 20;10 5;2 3;0 5;5 3;-10 -20);

对不动点进行几何变换映射,得到通过某种几何变换关联的不动点和运动点的效果。

movingPoints = transformPointsForward(tformAffine,fixedPoints)
movingPoints = 13.3210 17.9597 10.7163 3.1876 2.4906 2.6071 0.8682 4.9240 -4.4031 3.8227 -13.3210 -17.9597

估计映射的分段线性变换movingPoints定点

tformpiecewislinear = images.geotrans.PiecewiseLinearTransformation2D(移动点,固定点)
tformpiecewislinear = PiecewiseLinearTransformation2D的属性

验证适合PiecewiseLinearTransformation2D对象在控制点。

movingPointsComputed = transformPointsInverse(tformpiecewislinear,fixedPoints);errorInFit = hypot(movingPointsComputed(:,1)-movingPoints(:,1),...movingPointsComputed (:, 2) -movingPoints (:, 2))
errorInFit = 1.0e-15 * 0 0 0.4441 0 0 0

版本历史

在R2013b中介绍