图像拼接的相位相关(使用汉明窗)

时间:2012-02-21 12:28:21

标签: image-processing fft fftw image-stitching cross-correlation

我使用相位相关进行图像拼接,它可以为我的大部分测试数据提供良好的结果。我只是将图像左右和上下(只有移位)对 但是有一些奇怪的行为。 第一个奇怪的坐标,我必须转换坐标

//if L-R
pt.x= src->width-maxloc.x;
pt.y= src->height-maxloc.y;
if(pt.y>(temp->height/2))
  pt.y= -(maxloc.y+1);
//if T-B
pt.x= src->width-maxloc.x;
pt.y= src->height-maxloc.y;
if(pt.x>(temp->width/2))
  pt.x= -(maxloc.x+1);

然后使用Hamming窗口似乎当我使用Hamming窗口进行左右拼接时效果更好(即使是坏的情况),但如果我使用Hamming窗口进行上下操作则效果不佳(即使在好的情况下) 。 而且我认为我不需要为L-R和T-B分离个别情况,我希望相位相关只给我全局最大值,但似乎在理解FFT或相位相关时会出现一些错误。 这是我使用http://codepaste.ru/9415/

的代码

1 个答案:

答案 0 :(得分:0)

你的代码有一个明显的错误:

//if L-R
pt.x= src->width-maxloc.x;
pt.y= src->height-maxloc.y;
if(pt.y>(temp->height/2))
  pt.y= -(maxloc.y+1);
//if T-B
pt.x= src->width-maxloc.x;  // (repeated)
pt.y= src->height-maxloc.y; // <- overwrites previous value
if(pt.x>(temp->width/2))
  pt.x= -(maxloc.x+1);

请显示您尝试注册的图像。