我试图将移动的物体与移动的摄像机隔离开,以便以后可以对它们应用一些进一步的处理算法,但是似乎有些卡住了。
到目前为止,我正在使用OpenCV,并从PyrLKOpticalFlow获得稀疏的光流。我正在研究的总体思路是,找到与图像背景点移动不同的特征,然后找到这些不同移动的特征的簇,将其视为移动对象,以进行进一步的跟踪/处理。我的问题是,虽然我发现了一些使用这种策略的学术论文,但到目前为止,我还没有找到一种简单的方法可以自己完成。
使用此光流数据检测运动摄像机中的运动物体的一种好方法是什么?这是最好的方法吗?还是我可能忽略了一些更简单的方法?
最佳答案
我设法找到或多或少也想在OpenCV中什么方法。
与GoodFeaturesToTrackDetector和PyrLKOpticalFlow(给我prevPts和nextPts)两个连续图像之间找到稀疏光流点之后,我使用findHomography与RANSAC同时排除异常值到运动估计因相机移动由于独立地移动的物体。然后,我使用PerspectiveTransform扭曲了prevPts以说明相机的运动(为我提供warpedPts)。然后,我可以比较warpedPts到nextPts,以便找到移动的物体。
最终的结果是,即使移动相机没有在warpedPts和nextPts点之间太大的变化,如果物体是静止的,而有一个显著变化时,跟踪点是一个移动的物体上。从那里只是一个接近和运动的相似性的基础上分组的移动点的问题。
关于opencv - 使用光流识别运动物体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26939794/