将2-D空间转换应用于图像
imtransform.
不推荐。用imwarp.
反而。
转换图像B.
= imtransform(一种
那tform.
)一种
根据由此定义的2-D空间转换tform.
,并返回转换图像,B.
.
如果一种
是彩色图像吗imtransform.
将相同的2-D转换应用于每个颜色通道。同样,如果一种
那么,体积或图像序列是否具有三个或多个维度imtransform.
沿着更高的尺寸将相同的2-D转换应用于所有2-D平面。对于任意维数阵列转换,使用tformarray
.
将水平剪切施加到灰度图像。
我= imread(“cameraman.tif”);tform = maketform('仿射', (1 0 0;5 1 0;0 0 1);J = imtransform(我tform);imshow (J)
用射影变换把一个正方形映射到一个四边形。设置一个输入坐标系统,以便输入图像用顶点(0 0)、(1 0)、(1 1)、(0 1)填充单位正方形。
我= imread(“cameraman.tif”);Udata = [0 1];vdata = [0 1];
用顶点(-4 2),(-8 3),(-3 -5),(6 3)转换为四边形。
tform = maketform('投影',[0 0;1 0;1 1;0 1],......[-4 2;-8 -3;-3 -5;6 3]);
填充灰色并使用双向插值。使输出大小与输入大小相同。
[b,xdata,ydata] = imtransform(i,tform,'bicubic'那......'udata',udata,......“vdata”,vdata,......'尺寸'、大小(我),......“填满”,128);子图(1,2,1);imshow(我,'xdata',udata,'ydata',vdata)子图(1,2,2);imshow(b,'xdata',xdata,'ydata'ydata)
在Matlab中读一张空中照片®工作区并查看它。
未注册= imread(“westconcordaerial.png”);数字imshow(未注册)
将orthophoto读入Matlab工作区并查看。
图imshow('westconcordorthophoto.png')
预先挑选的负载控制点。
加载westconcordpoints
使用该点创建用于投影转换的转换结构。
t_concord = cp2tform(移动点,固定点,'投影');
获取正射影像的宽度和高度,执行转换,并查看结果。
信息= imfinfo ('westconcordorthophoto.png');注册= imtransform(未注册,t_concord,......'xdata',[1 info.width],'ydata',[1 info.height]);数字imshow(已注册)
图像配准。这imtransform.
函数自动将输出图像的原点移位,以便尽可能多地移动变换图像。如果你使用imtransform.
要进行图像注册,语法B = imtransform (tform)
能产生意想不到的结果。若要控制输出图像的空间位置,请设置xdata.
和ydata.
明确。
纯粹的翻译。打电话给imtransform.
除非您指定,否则具有纯平版转换的功能导致输出图像完全像输入图像xdata.
和ydata.
呼叫中的价值观imtransform.
.例如,如果您希望输出与显示相对于输入图像的平移的输入大小相同,则调用imtransform.
如以下语法所示:
b = imtransform(a,t,'xdata',[1尺寸(a,2)],......'ydata',[1尺寸(a,1)])
有关此主题的更多信息,请参见执行简单的二维转换.
转换速度。如果您未指定输出空间位置B.
使用xdata.
和ydata.
, 然后imtransform.
使用该功能自动估算位置findbounds.
.您可以使用findbounds.
作为一些常用的转换的快速前进映射选项,例如仿射或投射。对于没有前向映射的转换,例如由此计算的多项式转换fitgeotrans
那findbounds.
可能需要更长的时间。如果你可以指定xdata.
和ydata.
直接用于这种转变,然后imtransform.
可能明显更快地运行。
剪裁。自动估计xdata.
和ydata.
使用findbounds.
有时剪辑输出图像。为避免剪切,设置xdata.
和ydata.
直接地。
任意尺寸变换。使用2-D转换tform.
使用时imtransform.
.对于任意维数阵列转换,请参阅tformarray
.