1

我正在使用 OpenCV 进行相机和视频稳定工作。

假设我确切地知道(以米为单位)我的相机从一帧移动到另一帧的距离,我想用它来返回第二帧应该在的位置。

我确定在制作翻译矩阵之前我必须对这个数字进行一些数学运算,但我对此有点迷茫......有什么帮助吗?

谢谢。

编辑:好的,我会尝试更好地解释它:我想从视频中删除相机的移动(抖动),并且我知道相机从一帧到另一帧移动了多少(和方向)。所以我想做的是将第二帧移回它应该使用我拥有的信息的地方。我必须为每两帧制作一个平移矩阵并将其应用于第二帧。但这是我怀疑的时候:由于我拥有的信息是米并且是相机的移动,现在我正在处理图像和像素,我想我必须做一些操作,所以翻译是正确的,但是我不确定它们到底是什么

4

1 回答 1

0

知道相机移动了多少不足以创建合成帧。为此,您还需要世界的 3D 模型,我认为您没有。

为了证明假设相机移动是纯平移并且您正在查看两个对象,一个非常远 - 几公里远,另一个非常接近 - 几厘米远。很远的物体在新帧中几乎不会移动,而很近的物体可以在第二帧的视野中急剧移动甚至消失,您需要知道每个点的视角变化了多少你需要3D模型。

在旋转的情况下,拥有传感器信息可能会有所帮助,但它对翻译没有那么有用。

于 2014-01-05T00:24:44.633 回答