主要内容

affine2d

二维仿射几何变换

描述

一个affine2d对象存储信息二维仿射几何变换,使正向和反向转换。

创建

您可以创建一个affine2d对象在这些方面:

  • imregtform估计一个几何变换,一个移动的图像映射到一个固定的图像使用相似的优化。

  • imregcorr估计一个几何变换,一个移动的图像映射到一个固定的图像使用相关联。

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

  • randomAffine2d——创建一个随机二维仿射变换。

  • affine2d这里描述的函数。

描述

tform = affine2d创建一个affine2d对象的默认属性设置对应的恒等变换。

例子

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

属性

全部展开

二维仿射变换,指定为一个3×3的数字矩阵非奇异的。

矩阵T使用公约:

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

在哪里T的形式:

[0 b;c d 0;e f 1];

默认的T是恒等变换。

数据类型:|

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

对象的功能

逆几何变换
isRigid 确定转换刚性变换
isSimilarity 确定转换相似变换
isTranslation 确定转换是纯粹的翻译
outputLimits 发现输出空间限制给定的输入空间的限制
transformPointsForward 应用提出的几何变换
transformPointsInverse 应用逆几何变换

例子

全部折叠

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

θ= 30;tform = affine2d ([cosd(θ)信德(θ)0;信德(θ)cosd(θ)0;0 0 1])
tform = affine2d属性:T: [3 x3双]维度:2

应用几何变换转发给一个点(10 0)。

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

验证转换通过绘制原始点(蓝色)和转换后的点(红色)。

图(10 0“波”,x, y,“罗”轴([0 12 0 12])轴广场

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

读一个图像到工作区中。

一个= imread (“pout.tif”);

创建一个affine2d对象,定义了一个仿射几何变换。这个例子结合垂直切变和水平拉伸。

0.33 tform = affine2d ([2 0;0 1 0;0 0 1])
tform = affine2d属性:T: [3 x3双]维度:2

应用图像的几何变换使用imwarp

B = imwarp (tform);

由此产生的图像显示。

图imshow (B);轴平等的;

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

读取和显示一个图像。

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

创建一个affine2d转换对象旋转图像。的randomAffine2d从连续函数选择一个旋转角度随机均匀分布区间内的35岁,55度。

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

旋转图像和显示结果。

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

转换对象,tform1由相同数量,旋转图片。旋转图像由不同随机选择数量,创建一个新的affine2d转换对象。

tform2 = randomAffine2d (“旋转”,-10年[10]);J2 = imwarp(我tform2);imshow (J2)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

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

创建一个棋盘图像和旋转它创建一个错位的图像。

I =棋盘(40);J = imrotate(我,30);imshowpair (I, J,“蒙太奇”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

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

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

创建一个几何变换可以用来调整这两个图片,作为一个返回affine2d几何变换对象。

tform = fitgeotrans (movingPoints定点,“NonreflectiveSimilarity”)
tform = affine2d属性:T: [3 x3双]维度:2

使用tform重新取样的估算固定的旋转图像注册它的形象。区域的颜色(绿色和红色)的假彩色图像叠加显示错误登记。这个错误来自缺乏精确对应的控制点。

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

恢复角度和尺度转换的通过检查如何一个单位向量平行于x轴旋转和拉伸。

u = [0 1);v = [0 0];(x, y) = transformPointsForward (tform, u, v);dx = x (2) - (1);dy y = y (2) - (1);角=(180 /π)*量化(dy, dx)
角= 29.7686
规模= 1 /√(dx dy ^ ^ 2 + 2)
规模= 1.0003

扩展功能

版本历史

介绍了R2013a