通过互相关高效的亚像素图像配准。

注册两个图像(二维刚性翻译)在用户指定的一个像素的一小部分。而不是计算在FFT(快速傅里叶变换),这个代码使用选择性upsampling矩阵相乘的DFT(离散英尺)显著减少计算时间和内存不牺牲准确性。在这个过程的所有图像点是用来计算upsampled互相关在一个很小的社区在顶峰。这个算法被称为单步DFT算法[1]。

[1]Manuel Guizar-Sicairos塞缪尔·t·瑟曼和詹姆斯·r·Fienup“高效的亚像素图像配准算法,选择列托人。33岁,156 - 158 (2008)。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

版权(c) 2016年,Manuel Guizar Sicairos,詹姆斯·r·Fienup罗切斯特大学版权所有。

再分配和使用源代码和二进制形式,有或没有修改,允许提供满足下列条件:

*分发源代码必须保持上述版权声明,这个列表的条件以及其后的免责声明。*以二进制形式重新发布必须保留未经修改的上述版权通知,这个列表的条件以及其后的免责声明提供的文档和/或其他材料分布*罗切斯特大学的名称和贡献者的名字可以用来支持或促进产品源自这个软件没有特定的书面许可。s manbetx 845

这个软件提供的版权所有者和贡献者”是“和任何明示或默示保证,包括但不限于适销性的隐含保证和健身为特定目的是否认的。没有版权所有者或贡献者概对任何直接、间接、附带、特别,模范,或间接的损害赔偿(包括但不限于替代产品或服务的采购;损失的使用、数据或利润;或业务中断)然而造成任何理论的责任,无论是在合同,严格责任,或侵权行为(包括疏忽或其他)引起的以任何方式使用这个软件,即使建议的这种损害的可能性。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

内容

语法

引用的代码接收FFT和移位的图片,和一个(整数)upsampling因素。预计fft算法的代码与直流(1,1)所以不要使用fftshift。

输出= dftregistration (fft2 (f), fft2 (g), usfac);

1 / usfac中的图像注册一个像素。

(1)输出归一化均方根误差(NRMSE) f和g之间[1]。

输出(2)是全球两幅图像之间的相位差(应该是零如果图片是实值和非负)。

输出(3)和输出(4)之间的行和列的变化分别f和g。

(输出格雷格)= dftregistration (fft2 (f), fft2 (g), usfac);

格雷格是一个可选的输出,它返回的傅里叶变换的注册版本g,在全球相位差(输出(2))也补偿。

获得一个参考和移动图像

为了说明算法的使用,允许获得一个参考和改变形象。首先我们阅读参考图像f (x, y)

f = im2double (imread (“cameraman.tif”));

g (x, y)定义为一个版本的f (x, y)转移部分的像素值,乘以一个全球阶段。

deltar = -3.48574;deltac = 8.73837;阶段= 2;(nr、数控)= (f)大小;Nr = ifftshift((修复(Nr / 2):装天花板(Nr / 2) 1));数控= ifftshift((修复(Nc / 2):装天花板(Nc / 2) 1));(数控、Nr) = meshgrid(数控、Nr);g = ifft2 (fft2 (f)。* exp(1 * 2 *π* (deltar * Nr / Nr + deltac * Nc / Nc)))。* exp(1 *阶段);图(1);次要情节(1、2、1); imshow(abs(f)); title(的参考图像,f (x, y) ')次要情节(1、2、2);imshow (abs (g));标题(“改变形象,g (x, y) ')

我们已经改变了图像的8.73837和-3.48574像素在x和y方向上,分别添加了一个阶段的2弧度g (x, y)。的转变是实现通过应用一个线性相位的英国《金融时报》,因此我们认为的图片环绕(功能保留的一面窗口出现对面),图像是带限(由sinc函数插值)。通过阶互相关图像配准(DFT矩阵相乘和在FFT)分享这些假设。

这个注册技术是适合比较图像捕获在傅里叶域中(即评价图像重建通过全息术或相位检索)严格限带和展览的全方位的效果。

即使注册码假定限带环绕的图像,我们取得了很好的应用效果有限带宽显微镜图像,和别名图像。当改变图像带来新内容而不是包装或图像时不带限。

样本图像配准

dftregistration。f和g m接受英国《金融时报》和upsampling因素。代码预计FTs的直流(1,1)所以不要使用fftshift。

我们现在使用图像注册码注册0.01 f和g在100像素通过指定一个upsampling参数

usfac = 100;(输出,格雷格)= dftregistration (fft2 (f), fft2 (g), usfac);显示(输出),
输出= 0.0007 2.0000 -3.4900 8.7400

像素移位误差(区别真正的和获得的变化)是0.0016和0.0043分别在x和y方向。在预期的精度可达到0.01。注意,使用传统的在FFT方法相同的精度,需要25600 x25,600 FFT计算,这需要超过19 gb的RAM和一个非常舒适的椅子上。

下面的图显示了注册的参考图像和图像。

图(1);次要情节(1、2、1);imshow (abs (f));标题(的参考图像,f (x, y) ')次要情节(1、2、2);imshow (abs (ifft2 (Greg)));标题(“注册图像,gr (x, y) ')

免责声明

我做了一切努力来评估这段代码在不同条件下的正确工作。然而,它是用户的责任,以确保这个注册码和correcntly工作的应用程序来说是足够的。

随时给我发电子邮件与问题或评论。