我正在使用光流来跟踪一些特性,我是一个初学者,我要遵循以下步骤
现在我不明白的是同形部分,因为你找到特征并使用Lucas-Kanade跟踪它们,现在单调性被用来计算相机的运动(旋转和平移-在两个图像之间)。但卢卡斯-卡纳德不就是这么做的吗?或者卢卡斯-卡纳德只是跟踪他们和同形进行计算?我很难理解他们之间的区别,谢谢。
发布于 2017-02-20 18:43:19
Lucas算法是一种计算光流的算法,即像素从一幅图像到另一幅图像的视运动。运动定义了帧对之间的像素对应(“匹配”)-它表示图像t中的像素(x,y)与像素t‘中的像素(x',y')相对应。使用这些对应(至少4),您可以估计图像之间的几何转换,特别是一个同调。
建议您运行并阅读opencv代码附带的示例。
发布于 2018-07-01 14:47:11
光流:检测从一个帧到下一个帧的运动。这要么是稀疏的(很少跟踪感兴趣的位置,例如在LKDemo.cpp示例中),要么是密集的(许多位置(例如,所有像素)每个位置都有一个运动),例如openCV中的Farneback演示)。
不管你是有密集的还是稀疏的流,有不同的转换,光流方法可能试图估计。最常见的转换是翻译。这只是从帧到帧的位置偏移.这可以显示为每帧矢量,或作为颜色的流动是密集和高分辨率。
一个不限于估计每个职位的翻译。您也可以估计旋转,例如(一个点是如何旋转的,从一个帧到另一个帧),或者它是如何倾斜的。在仿射光流中,估计每个位置的完全仿射变换(变化平移、旋转、倾斜和缩放)。仿射流是一种经典而强大的技术,它被广泛地误解,而且可能使用的比它应该少得多。
仿射变换最经济地由2x3矩阵:6自由度给出,而普通的2d.o.f。有规律的平移光流。
抛开光流的话题,一个更普遍的变换族被称为“同伦变换”或“投射变换”。它们需要一个3x3变换,并且有8个d.o.f。仿射族不足以描述平面所经历的那种变形,当你用射影变形来看待它时。
一般从帧间的许多匹配点来估计同态图。在这个意义上,它使用规则平移光流的输出(但仿射方法经常在遮罩下使用以改善结果)。
所有这些都只是表面上的。
https://stackoverflow.com/questions/42350006
复制相似问题