主要内容

imregcorr

利用相位相关估计对齐两个二维图像的几何变换

描述

例子

tform= imregcorr (移动固定估计对齐图像的几何变换,移动,配以参考图像,固定.该函数返回一个几何变换对象,tform,它将像素映射到移动像素的固定

tform= imregcorr (移动Rmoving固定Rfixed估计对齐图像的几何变换,移动,配以参考图像,固定RmovingRfixed对象的空间引用对象是否包含关于移动固定图像,分别。返回的转换对象,tform,定义了世界坐标系中的点映射。

tform= imregcorr (___transformType还指定了转换的类型,transformType

tform= imregcorr (___“窗口”,窗口还指定是否在频域执行加窗。为增加配准结果的稳定性,请指定窗口作为真正的.然而,如果你的图像中的共同特征是沿边缘方向的,那么设置窗口有时可以提供优越的注册结果。

tformpeakcorr) = imregcorr (___也返回峰值相关性,peakcorr,表示两幅图像之间的相位差。

例子

全部折叠

将引用映像读取到工作区中。

固定= imread (“cameraman.tif”);

通过缩放和旋转固定的图像来创建一个合成的移动图像。

θ= 20;S = 2.3;tform = affine2d([s *cosd(theta) -S.*sind(theta) 0;...美国*信德(θ)s * cosd(θ)0;...0 0 1);移动= imwarp(固定、tform);移动=移动+ uint8(10*兰特(大小(移动)));

将固定图像和移动图像并排显示。

imshowpair(固定,移动,“蒙太奇”

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

估计对齐图像所需的转换imregcorr

tformEstimate = imregcorr(移动、固定);

对运动图像应用估计的几何变换。此示例使用“OutputView”参数获取与参考图像相同大小和具有相同世界限制的注册图像。

Rfixed = imref2d(大小(固定));tformEstimate movingReg = imwarp(移动,“OutputView”, Rfixed);

将原图和注册图并排查看,以查看注册情况。然后查看注册图像覆盖在原始使用“falsecolor”选项突出显示图像不同的任何区域。

movingReg imshowpair(固定,“蒙太奇”

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

movingReg imshowpair(固定,“falsecolor”);

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

输入参数

全部折叠

要注册的图像,指定为灰度图像、二值图像或RGB图像。如果指定RGB图像,imregcorr使用。将其转换为灰度图像rgb2gray前处理。

请注意

长径比移动影响输出转换tform.为了获得最佳效果,使用方形图像。

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

目标方向上的参考图像,指定为灰度图像、二值图像或RGB图像。如果指定RGB图像,imregcorr使用。将其转换为灰度图像rgb2gray前处理。

请注意

长径比固定影响输出转换tform.为了获得最佳效果,使用方形图像。

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

要估计的转换类型,指定为下列值之一。

价值 描述
“翻译” 翻译
“刚性” 平移和旋转
“相似”

平移、旋转和缩放

当使用“相似”另外,相位相关算法仅在固定和运动图像的一定尺度差异范围内保持尺度不变。imregcorr将搜索空间限制在[1/ 4,4]范围内缩放差异。imregcorr不检测规模差异小于1/4或大于4。

数据类型:字符|字符串

与待注册图像相关联的空间引用信息,指定为imref2d对象。

与参考(固定)图像相关联的空间参考信息,指定为imref2d对象。

在频域使用加窗抑制谱泄漏效应,指定为数字或逻辑1真正的)或0).真正的,imregcorr函数使用Blackman过滤器执行窗口操作。

输出参数

全部折叠

几何变换,返回为affine2d对象。

两幅图像之间相位差的峰值相关值,以数字标量返回。

提示

  • 如果你的形象是典型的,可以通过将映像转换为im2single之前注册。输入图像类型导致算法计算fft

参考文献

Reddy, B. S.和Chatterji, B. N.,一种基于fft的平移、旋转和尺度不变图像配准技术, IEEE图像处理学报,第5卷,第8期,1996年8月

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

另请参阅

应用程序

功能

介绍了R2014a