主要内容

整经机

对许多图像有效地应用相同的几何变换

描述

一个整经机对象适用于一个affine2d投影2D几何变换的图像与特定的尺寸。

创建

描述

例子

w = images.geotrans.Warper (tforminputSize)从几何变换对象创建图像扭曲器tform并设定输入大小财产。

w = images.geotrans.Warper (tforminputRef指定输入图像的坐标系,inputRef

w = images.geotrans.Warper (tforminputRefoutputRef指定输出图像的坐标系统,outputRef.这种语法可以通过将几何变换的应用限制在感兴趣的特定输出区域来提高性能。

w = images.geotrans.Warper (sourceXsourceY指定输入图像坐标,sourceXsourceY,需要执行几何变换。

w = images.geotrans.Warper (___名称,值设定插值填充值属性使用一个或多个名称-值对参数。将每个属性名用单引号括起来。

例如整经机= images.geotrans.Warper (tform、大小(im)、“FillValue”,1)的填充值1对于原始图像之外的像素。

输入参数

全部展开

几何变换,指定为affine2d投影2D几何变换对象。

引用与输入图像关联的对象,指定为imref2d空间参照对象。

引用与输出图像关联的对象,指定为imref2d空间参照对象。

输入图像坐标,指定为与所需输出图像大小相同的2d矩阵。每个(xy)指数sourceXsourceY指定对应输出像素在输入图像中的位置。

数据类型:

属性

全部展开

输入图像的大小,指定为正整数的2或3元素向量。

输出图像前两个维度的大小,指定为正整数的2元素向量。

插值方法,指定为“线性”“最近的”,或“立方”

数据类型:烧焦|字符串

用于输入图像边界外的输出像素的值,指定为数字标量。整经机将填充值转换为输入图像的数据类型。

对象的功能

应用几何变换

例子

全部折叠

选择一组相同大小的图像。该示例使用一组显示单元格的图像。

imds=图像数据存储(完整文件(matlabroot,“工具箱”“图像”“imdata”“在*”));

创建一个几何变换,以旋转每个图像45度,并缩小每个图像。

Tform = affine2d([0.5*cos(pi/4) sin(pi/4) 0;sin(π/ 4)0.5 * cos(π/ 4)0;0 0 1);

创建一个整经机对象,指定几何变换对象,tform,以及输入图像的大小。

im=readimage(imds,1);warper=images.geotrans.warper(tform,size(im));

确定要处理的图像数量并预分配输出数组。

numFiles =元素个数(imds.Files);imr = 0([整经机。OutputSize1numFiles],“喜欢”im);

调用的方法对每个输入图像应用几何变换的函数整经机对象

int = 1:numFiles im = read(imds);imr(:: 1、印第安纳州)=经纱(整经机,im);结束

可视化输出图像。(关闭有关要缩放以显示的图像的警告消息。)

警告(“关”“图片:initSize: adjustingMag”)蒙太奇;

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

提示

  • 如果输入的图像是RGB图像或大小不一的三维灰度图像-借-n-借-p,然后将变换应用于每个颜色通道或平面p独立。

算法

整经机优化为在一批相同大小的图像上应用相同的几何变换。整经机通过将扭曲过程分解为两个步骤来实现此优化:计算转换后的坐标(只做一次)和对图像进行插值(对每个图像进行)。相比imwarp在美国,这种方法大大加快了整个过程的小到中型图像,与递减的回报为较大的图像。

另请参阅

功能

对象

介绍了R2017b