主要内容

affine2d

二维仿射几何变换

描述

一个affine2d对象存储有关2-D仿射几何变换的信息,并启用正向和逆变换。

创建

你可以创建一个affine2d对象使用以下方法:

  • imregtform- 估计使用相似性优化将运动图像映射到固定图像的几何变换。

  • imregcorr.-估计一个几何变换,映射一个运动图像到固定图像使用相位相关。

  • FitegeOtrans.- 估计几何变换,即在两个图像之间映射的控制点对。

  • randomAffine2d- 创建随机的2-D仿射变换。

  • affine2d这里描述的功能。

描述

tform = affine2d创建一个affine2d对象,其默认属性设置对应于标识转换。

例子

tform = actifine2d(T设置属性T为指定的有效仿射变换矩阵。

属性

全部展开

正向二维仿射变换,指定为非奇异的3 × 3数值矩阵。

矩阵T使用“公约”:

[x y 1] = [u v 1] * t

在哪里T的形式:

[a b 0;c d 0;E F 1];

默认值T是身份转换。

数据类型:双倍的|

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

对象的功能

逆几何变换
isRigid 确定变换是否是刚性变换
isSimilarity 确定转换是否是相似性转换
istranslation. 确定转换是否是纯粹的转换
输出 给定输入空间限制,求输出空间限制
变换点前沿 应用前向几何变换
transformPointsInverse 应用逆几何变换

例子

全部收缩

创建一个affine2d对象,定义绕原点逆时针方向旋转30度。

θ= 30;tform = acfine2d([...cosd(θ)信德(θ)0;...信德(θ)cosd(θ)0;...0 0 1])
tform = affine2d with properties: T: [3x3 double]维数:2

对点(10,0)应用正向几何变换。

(x, y) = transformPointsForward (tform 10 0)
x = 8.6603
y = 5

通过绘制原始点(蓝色)和变换点(以红色)进行验证转换。

图(10 0'博', x, y,“罗”)轴([0 12 0 12])正方形

图中包含一个轴对象。轴对象包含两个类型为line的对象。

读取并显示图像。

我= imread (“kobi.png”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

创建一个affine2d旋转图像的转换对象。的randomAffine2d功能从间隔内的连续均匀分布随机拾取旋转角度[35,55]。

tform1 = randomAffine2d (“旋转”,[35 55]);

旋转图像并显示结果。

J = imwarp(我tform1);imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

转换对象,tform1,以相同的数量旋转所有图像。要通过不同随机选择的量旋转图像,创建一个新的affine2d转型对象。

tform2 = ronsomaffine2d(“旋转”,[ -  10 10]);J2 = imwarp(i,tform2);imshow(J2)

图中包含一个轴对象。axis对象包含一个image类型的对象。

这个例子展示了如何创建一个可以用来对齐两个图像的几何变换。

创建一个棋盘图像并旋转它来创建一个不对齐的图像。

i =棋盘(40);j = imrootate(i,30);imshowpair(我,j,“蒙太奇”

图中包含一个轴对象。axis对象包含一个image类型的对象。

在固定图像(棋盘格)和移动图像(旋转的棋盘格)上定义一些匹配控制点。您可以使用控制点选择工具交互式地定义点。

fixedPoints = [41 41;281 161);movingPoints = [56 175;324 160);

创建可用于对齐两个图像的几何变换,返回为affine2d几何变换对象。

tform = fitgeotrans (movingPoints定点,“NonreflectiveSimilarity”
tform = affine2d with properties: T: [3x3 double]维数:2

使用tform.估计重新采样旋转后的图像,将其与固定图像配准。假彩色叠加图像中的颜色区域(绿色和品红)表明配准错误。这个错误是由于控制点缺乏精确的对应。

tform Jregistered = imwarp (J,'OutputView'imref2d(大小(I)));图imshowpair(我Jregistered)

图中包含一个轴对象。axis对象包含一个image类型的对象。

通过检查平行于x轴的单位矢量如何旋转和拉伸来恢复变换的角度和比例。

u = [0 1];v = [0 0];[x,y] = TransformPointSforward(TForm,U,V);dx = x(2) -  x(1);dy = y(2) -  y(1);角度=(180 / pi)* atan2(dy,dx)
角= 29.7686
比例= 1 /√(dx^2 + dy^2)
scale = 1.0003

扩展功能

在R2013A介绍