imtransform
(不推荐)对图像应用二维空间变换
不建议使用 imtransform
。请改用 imwarp
进行二维和三维变换。使用 tformarray
进行高维变换。
语法
说明
使用名称-值参量来控制空间变换的各个方面。B
= imtransform(___,Name,Value
)
示例
输入参数
输出参量
提示
图像配准。
imtransform
函数会自动平移输出图像的原点,以尽可能多地显示变换后的图像。如果您使用imtransform
进行图像配准,语法B = imtransform(A,tform)
可能会产生意外的结果。要控制输出图像的空间位置,请显式设置XData
和YData
。纯平移。使用纯平移变换调用
imtransform
函数会产生与输入图像完全相同的输出图像,除非您在对imtransform
的调用中指定XData
和YData
值。例如,如果您希望输出与输入大小相同,同时又显示它相对于输入图像发生了平移,请使用下列语法调用imtransform
:B = imtransform(A,T,"XData",[1 size(A,2)],... "YData",[1 size(A,1)])
有关此主题的详细信息,请参阅Perform Simple 2-D Translation Transformation。
变换速度。如果您没有使用
XData
和YData
指定B
的输出空间位置,则imtransform
会使用函数findbounds
自动估计位置。您可以使用findbounds
作为一些常用变换(如仿射或投影)的快速前向映射选项。对于没有正向映射的变换,如fitgeotform2d
计算的多项式变换,findbounds
可能需要更长的时间。如果您可以直接为这些变换指定XData
和YData
,则imtransform
的运行速度可能会明显加快。裁剪。使用
findbounds
对XData
和YData
进行自动估计时有可能裁剪输出图像。为避免裁剪,请直接设置XData
和YData
。
版本历史记录
在 R2006a 之前推出