【问题标题】:Quantifiy image shift in pixels以像素为单位量化图像偏移
【发布时间】:2018-10-01 04:28:59
【问题描述】:

我正在使用 MATLAB 来计算图像之间的互相关。我有两张 132*1024 的图像,它们或多或少相同,但其中一张在 Y 轴上移动了大约 50-70 像素,并且可能在 X 轴上移动了几个像素 (

我使用xcorr2 函数来计算互相关矩阵,所以我最终得到了一个 263*2047 矩阵,我可以使用mesh 轻松地对其进行 3D 绘图。表面图看起来非常好,但我不明白的是:如何找到以像素为单位的“移位值”? xcorr2 矩阵的最大值为 [130, 987],我不知道如何将其与应为 [50, 5] 之类的预期结果联系起来。

非常感谢!

编辑:我不想使用已经提出的imregister 方法。我的目标是将xcorr2 函数与我自己用C# 编写的互相关代码进行比较。

【问题讨论】:

标签: matlab image-processing cross-correlation


【解决方案1】:

您在这里处理的是一个非常简单的刚性注册问题。

使用imregister方法注册两个图像(可以指定只允许x/y方向的平移-移动;刚性代表平移+旋转)。

https://www.mathworks.com/help/images/ref/imregister.html

【讨论】:

  • 感谢您的建议,我现在会调查这个!
  • 我看到imregister 方法实际上是一种不必执行互相关的方法。这不是我需要的,我想将交叉相关xcorr2与我用 C# 制作的另一个实现进行比较。我想要了解如何使用 xcorr2 矩阵找到两个图像之间的偏移量。
  • 好吧,如果你坚持通过相关来解决你的注册问题,你为什么不按照文档中的说明在相关矩阵中搜索最大值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 2011-12-21
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
相关资源
最近更新 更多