gpt4 book ai didi

python - 仅测量两个图像之间沿一个方向的位移

转载 作者:行者123 更新时间:2023-11-30 21:54:49 25 4
gpt4 key购买 nike

我必须测量两个单色图像之间的位移。

这些图像实际上是校准前的光谱,噪声很大并且充满了不需要的特征,但它们基本上看起来像下面的 abstract image of a spectrum

知道不同图像之间,它们沿x方向有偏移,但沿y方向没有偏移。我想知道它们之间沿 x 方向的偏移量。

幸运的是,我在skimage中发现了一个函数register_translation,它可以用于任意子像素精度。但问题是,我只想知道沿 x 方向的平移,并且希望得到的 y 方向平移为 0,但程序同时发现 x 和 y 方向的平移,大概是沿垂直于特征。 (图中蓝色箭头标记) pixel coordinates and "eigenvector" for the image

所以,我想知道:

  1. python 中是否有任何函数或包可以仅测量两个图像之间沿一个方向的位移,甚至可以使用任何先验知识?

  2. 查找两个噪声图像之间的偏移的正确方法是什么?在 FFT 空间中找到最大互相关值可以完成这项工作吗?

最佳答案

如果 register_translation 为您提供了 xy 偏移(无论是向量形式还是分量形式),在这种情况下应该执行一些简单的数学运算。您可以计算如果 y 位移不存在时所需的 x 方向的移动,这正是您想要的。我正在旅行,很遗憾现在无法给您图表,建议画出三角形。

所需的额外 x 偏移 (x_extra) 定义为:

x_extra = y * tan[arctan(y_shift/x_shift)]

简化为:

x_extra = y_shift^2 / x_shift

因此,x 的总位移为:

x_shift_total = x_shift + x_extra

其中 x_shift 由 register_translation 提供给您。

如果您随后将 imageA 移动 x_shift_total,它应该与 imageB 对齐,假设给定 x_shift register_translation 是正确的。

@jni 我很乐意将其作为 register_translation 中的一个选项来实现!

关于python - 仅测量两个图像之间沿一个方向的位移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58388392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com