主要内容

imwarp

几何变换应用到图像

描述

例子

B= imwarp (一个,tform)将数字转换、逻辑或分类图像一个根据几何变换tform。函数返回转换后的图像B

B= imwarp (一个,D)变换图像一个根据位移场D

(B,RB)= imwarp (一个,类风湿性关节炎,tform)指定的转换空间参考图像图像数据一个及其相关的空间引用对象类风湿性关节炎。指定的输出是空间参考图像图像数据B及其相关的空间引用对象RB

(___)= imwarp (___,插值函数)使用指定类型的插值。

例子

(___)= imwarp (___,名称,值)指定名称-值对参数控制几何变换的各个方面。

提示

如果输入转换tform没有定义一个变换,然后使用吗OutputView名称-值对论证加快转型。

例子

全部折叠

灰度图像读入工作区和显示它。

我= imread (“cameraman.tif”);imshow(我)

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

创建一个二维几何变换对象。

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

应用到图像的转换。

J = imwarp(我tform);图imshow (J)

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

三维核磁共振成像数据读入工作区和可视化。

s =负载(“核磁共振”);mriVolume =挤压(其中);sizeIn =大小(mriVolume);hFigOriginal =图;hAxOriginal =轴;片(双(mriVolume) sizeIn (2) / 2, sizeIn (1) / 2, sizeIn (3) / 2);网格,阴影插值函数,colormap灰色的

图包含一个坐标轴对象。坐标轴对象包含3个类型的对象的表面。

创建一个三维几何变换对象。首先创建一个旋转图像的变换矩阵y设在。然后创建一个affine3d对象的变换矩阵。

θ=π/ 8;t = [cos(θ)0 sin(θ)0 0 1 0 0罪(θ)因为(θ)0 0 0 0 1);tform = affine3d (t)
tform = affine3d属性:T: [4 x4的双重维度:3

应用到图像的转换。

mriVolumeRotated = imwarp (mriVolume tform);

可视化三片飞机通过转换后的卷的中心。

sizeOut =大小(mriVolumeRotated);hFigRotated =图;hAxRotated =轴;片(双(mriVolumeRotated) sizeOut (2) / 2, sizeOut (1) / 2, sizeOut(3) / 2)网格,阴影插值函数,colormap灰色的

图包含一个坐标轴对象。坐标轴对象包含3个类型的对象的表面。

链接两个轴一起的观点。

linkprop ([hAxOriginal, hAxRotated],“视图”);

设置视图旋转的影响。

集(hAxRotated,“视图”(-3.5 - 20.0))

图包含一个坐标轴对象。坐标轴对象包含3个类型的对象的表面。

图包含一个坐标轴对象。坐标轴对象包含3个类型的对象的表面。

读取和显示一个图像。图像的空间范围,使轴可见。

一个= imread (“kobi.png”);iptsetpref (“ImshowAxesVisible”,“上”)imshow (A)

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

创建一个二维仿射变换。这个示例创建一个随机变换,由规模的因素范围[1.2,2.4],旋转了一个角度范围-45,45度,距离和水平翻译的范围(100、200)像素。

tform = randomAffine2d (“规模”[1.2,2.4],“XTranslation”(100 200),“旋转”,-45年,45);

创建三个不同的输出视图图像和转换。

centerOutput = affineOutputView(大小(A)、tform“BoundsStyle”,“CenterOutput”);followOutput = affineOutputView(大小(A)、tform“BoundsStyle”,“FollowOutput”);sameAsInput = affineOutputView(大小(A)、tform“BoundsStyle”,“SameAsInput”);

转换应用到输入图像使用不同的输出的每个视图的风格。

BCenterOutput = imwarp (tform,“OutputView”,centerOutput);BFollowOutput = imwarp (tform,“OutputView”,followOutput);BSameAsInput = imwarp (tform,“OutputView”,sameAsInput);

由此产生的图像显示。

imshow (BCenterOutput)标题(“CenterOutput边界风格”);

图包含一个坐标轴对象。坐标轴对象与标题CenterOutput边界样式包含一个类型的对象的形象。

imshow (BFollowOutput)标题(“FollowOutput边界风格”);

图包含一个坐标轴对象。坐标轴对象与标题FollowOutput边界样式包含一个类型的对象的形象。

imshow (BSameAsInput)标题(“SameAsInput边界风格”);

图包含一个坐标轴对象。坐标轴对象与标题SameAsInput边界样式包含一个类型的对象的形象。

iptsetpref (“ImshowAxesVisible”,“关闭”)

输入参数

全部折叠

图像转换,指定为一个数字,逻辑,或直言任何维度的数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|分类

应用几何变换,指定为一个rigid2d,affine2d,projective2d,rigid3d,或affine3d对象。

  • 如果tform二维和一个有超过两个维度,比如RGB图像,然后呢imwarp相同的2 d转换适用于所有二维平面在更高的维度。

  • 如果tform是3 d,那么一个必须是一个三维图像体积。

位移场,指定为数字数组。位移场定义了网格输出图像的大小和位置。位移值以像素为单位。imwarp假设D引用默认的内在协调系统。估计位移场,使用imregdemons

  • 如果一个是一个二维灰度图像的尺寸吗——- - - - - -n,然后指定位移场的——- - - - - -n2数组。D (:: 1)包含位移沿x设在。imwarp将这些值添加到列和行位置D贴图的位置一个。同样的,D (:: 2)包含位移沿y设在。

  • 如果一个是一个二维RGB或多光谱图像的尺寸吗——- - - - - -n——- - - - - -c你指定D作为一个——- - - - - -n2数组,然后imwarp独立操作每一个二维的颜色通道。D (:: 1)包含位移沿x设在所有颜色的通道。同样的,D (:: 2)包含位移沿y设在。

  • 如果一个是一个3 d灰度图像的尺寸吗——- - - - - -n——- - - - - -p,然后指定位移场数组作为——- - - - - -n——- - - - - -p3数组。D (:,:: 1)包含位移沿x设在。imwarp将这些值添加到列、行和深度位置D贴图的位置一个。同样的,D (:,:: 2)D (:,:: 3)包含位移沿y- - -z设在。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

空间参考信息图像的转换,指定为一个imref2d或者一个对象的二维变换imref3d对象一个3 d变换。

指定类型的插值使用,作为其中一个值。

插值法 描述
“最近的”

最近邻插值。分配输出像素值的像素点属于。没有其他的像素被认为是。

近邻插值的唯一方法支持分类图像和默认的方法对这种类型的图像。金宝app

“线性” 线性插值。这是默认的数字和逻辑图像插值方法。
“立方” 三次插值

数据类型:字符|字符串

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“FillValues”, 255年使用一个值为255

输出图像的大小和位置世界坐标系统指定为逗号分隔组成的“OutputView”和一个imref2dimref3d空间引用对象。对象属性,定义输出图像的大小和输出图像的位置在世界坐标系统。

您可以创建一个输出视图使用affineOutputView函数。复制所计算的默认输出视图imwarp,使用默认的边界样式(“CenterOutput”)affineOutputView

你不能指定OutputView当你指定一个输入位移场D

填补用于输出像素值在输入图像之外,指定为逗号分隔组成的“FillValues”以下值之一。imwarp使用填充输出像素值时对应的逆输入图像转换位置完全在输入图像边界。

默认填写数字和逻辑图像的价值0。默认填充分类图像的价值失踪,对应于<定义>类别。

图像类型

转换维度

的格式填值

二维灰度图像或逻辑 二维
  • 数字标量

二维彩色图像或二维多光谱图像 二维
  • 数字标量

  • c元数值向量指定填充为每个值c频道。通道的数量,c,对彩色图像是3。

一系列的p二维图像 二维

  • 数字标量

  • c——- - - - - -p数字矩阵。通道的数量,c1,是灰度图像和彩色图像3。

N- d图像 二维
  • 数字标量

  • 数值数组的大小匹配维度3 -N输入的图像一个。例如,如果一个由- 200 - 200 - 10 - 3,然后呢FillValues可以是一个10-by-3数组。

3 d图像灰度或逻辑 三维
  • 数字标量

分类图片 二维或三维
  • 图像中有效的分类,指定为一个字符串标量或特征向量。

  • 失踪,对应于<定义>类别。有关更多信息,请参见失踪

例子:255年填补了uint8图像与白色像素

例子:1填补了图像与白色像素

例子:(0 1 0)填补了与绿色像素彩色图像

例子:[0 1 0;0 1 1]“一系列的两个彩色图像,让第一个图像与青绿色像素和第二图像像素

例子:“汽车”填补了分类图像的“车辆”的类别

垫图像创建平滑的边缘,指定为真正的。当设置为真正的,imwarp创建一个平滑输出图像的边缘填充指定的输入图像与价值观FillValues。当设置为,imwarp不垫的形象。选择(没有填充)输入图像边缘清晰会导致输出图像。这种尖锐的优势可以有助于减少接缝扭曲当注册两个图片并排。

输出参数

全部折叠

转换图像,返回为一个数字,逻辑,或直言相同数据类型的数组作为输入图像一个

转换后的图像的空间参考信息,作为一个返回imref2dimref3d空间引用对象。

算法

imwarp决定了输出图像的像素值映射位置的输出图像输入图像中对应的位置(逆映射)。imwarp在输入图像篡改来计算输出像素值。

下图演示了一个翻译转换。按照惯例,输入空间中的坐标轴标签uv和输出空间的坐标轴标签xy。在图中,请注意imwarp修改空间坐标定义输入图像中像素的位置。的像素(1,1)现在是定位在(41岁41)。在棋盘的图像,每个黑色,白色和灰色的广场是10像素高,宽10像素。关于空间坐标之间的区别的更多信息和像素坐标,明白了图像坐标系统

输入图像转换

扩展功能

介绍了R2013a