我正在尝试稳定在海滩拍摄的视频,其中包含海浪,岩石,海滩,山脉等。
基于每个点的位移检测关键点和warpPerspective效果不佳,因为关键点包含诸如波和人之类的移动物体。
预期结果就像相机位置和角度始终固定不变;视频中唯一运动的物体是波浪,人,鸟等。
有没有建议的方法来实现这一目标?也许只检测不动的物体?由于摄像机的角度,静止的物体可能会在视频中移动,这就是问题所在。
答案 0 :(得分:1)
不知道为什么这个问题会被否决,这是视频处理中的普遍需求。我认为最直接的方法是在相邻帧之间使用“相位相关”:
https://en.wikipedia.org/wiki/Phase_correlation
如果大多数内容相同,它将为您提供每对相邻框架之间的相对位移。 OpenCV具有一个方便的函数phaseCorrelate(...)
,该函数专门使用此算法:
看看,看是否符合您的目的。其他图像配准算法也可能起作用,但是对于足够大的图像,相位相关可能是最快的。