【问题标题】:B-spline interpolation of deformation field for images图像变形场的 B 样条插值
【发布时间】:2019-03-25 16:04:22
【问题描述】:

我目前正在使用 Python 注册一些图像,但要创建自己的工具来完成此操作,因为当前的注册技术不适合我的目标。我想估计变形场的 b 样条曲线,但在将我读到的任何关于它的内容扩展到 2d 图像时遇到问题。

我已经有两个图像之间匹配的点列表,以及位置处的变形场...我想使用 b 样条将变形场推广到图像中的每个点。

# Find control points in the image
# p is a vector 2xnumber of control points
p = find_control_points(live_im)

# Find deformation of control points
# d is 1xnumber of control points
d = det_best_match(mask_im, live_im, p)

我有一个 NxN 的图像,控制点 p 是图像中的位置。我正在考虑使用 scipy.interpolate.BSpline 但你已经需要 t, c, k 来提供它。所有的例子都是 1d 的,我想我有一个 3d 的例子。我终其一生都无法弄清楚关于数学的任何事情。有没有人用过这个或者可以看看这个功能是否可以实现?

【问题讨论】:

    标签: python image registration spline bspline


    【解决方案1】:

    对于 B 样条曲线/曲面,控制点不是曲线/曲面上的点。您确定仅通过将失真图像与原始图像进行比较就已经知道它们了吗?

    【讨论】:

    • 好的,这就是我对整个事情感到非常困惑的地方。这里的控制点是指我估计位移的点。所以我在图像中有一些样本点,我在其中找到了位移向量。我想我需要使用 b 样条网格将这些位移向量插入到附近的点上,这就是我正在努力理解的一点
    • @BrookeBurton 它似乎确实需要样条插值,但使用 B 样条是矫枉过正。基本上 B 样条只是具有任意顺序和段的所有样条的通用表示,通常仅在几何建模中有用。 IMO您可以对图像变形中常见的网格使用三次样条插值。计算多项式系数只需要采样值。三次样条也可以用 B 样条/NURBS 形式表示,但这不是必需的。
    猜你喜欢
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2019-08-06
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多