使用 Lucas Kanade 算法进行特征跟踪 - 梯度计算

问题描述 投票:0回答:1

Lucas Kanade 功能跟踪器请参阅第 6 页 我正在用 C++ 实现 Lucas Kanade 功能跟踪器。

在实现附图中提到的方程23时,有一点不清楚。我认为矩阵G计算应该发生在K循环内部,而不是K循环外部。如果块 B 出现在帧 j 的边界处,此时使用在 K 循环之前计算的完整 G 空间梯度矩阵是没有用的(如论文中提到的)。对于帧 j,矩阵 G 应仅针对显示的补丁 B 部分进行计算。

                            Patch A                    Patch B
                              |                           |
                              |                           |
                         -----|---                       -|-------
                        |   |---| |                     | |       |
                        |   |   | |                     |--|      |
                        |   |---| |                     |  |      |
                        |         |                     |--|      |
                         ---------                       ---------
                         Frame i                          Frame j
algorithm opencv image-processing tracking feature-detection
1个回答
0
投票

算法中几乎没有基本假设。
具体针对您的情况:

  1. 整个补丁在两个图像上都可用。
  2. 可以计算patch位置的梯度。

由于梯度通常是通过有限差分来估计的,因此边界的余量取决于选择的有限差分系数

最常见的选择是使用图像上的中心一阶。
这意味着补丁距边界的最小边距为 1。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.