Python 如何使用移动对象和摄影机确定帧间对象的移动距离
如果您有一个包含移动对象的视频文件,以及一个移动的摄影机,是否可以跟踪对象在10帧或20帧之间移动的距离?我使用OpenCV来跟踪物体,当相机静止时,我可以毫不费力地找到物体移动的距离,但我似乎无法将头绕在非静止的相机上 该馈送仅为单个2D摄影机馈送,不进行其他跟踪Python 如何使用移动对象和摄影机确定帧间对象的移动距离,python,opencv,computer-vision,cv2,photogrammetry,Python,Opencv,Computer Vision,Cv2,Photogrammetry,如果您有一个包含移动对象的视频文件,以及一个移动的摄影机,是否可以跟踪对象在10帧或20帧之间移动的距离?我使用OpenCV来跟踪物体,当相机静止时,我可以毫不费力地找到物体移动的距离,但我似乎无法将头绕在非静止的相机上 该馈送仅为单个2D摄影机馈送,不进行其他跟踪 我能想到的唯一一件事是,从帧内对象的最低坐标到最高坐标水平地将帧灰显,尝试将帧分层在一起,然后测量对象在已知每个帧中对象的x、y坐标的情况下移动的距离。这似乎不是一个非常干净的解决方案,所以我很想知道是否还有其他方法可以解决这个问题
我能想到的唯一一件事是,从帧内对象的最低坐标到最高坐标水平地将帧灰显,尝试将帧分层在一起,然后测量对象在已知每个帧中对象的x、y坐标的情况下移动的距离。这似乎不是一个非常干净的解决方案,所以我很想知道是否还有其他方法可以解决这个问题。假设要跟踪的对象没有覆盖整个图像,并且有足够的可见背景,您可以尝试在静态背景下用视觉里程计跟踪相机的运动
然后,您可以跟踪对象相对于相机的相对运动,就像它静止一样,然后使用已知的相机运动将运动变换回世界坐标。图像中是否有其他不移动的对象?你可以使用对次要物体的检测来计算摄像机的运动,唯一的问题是视频并不总是包含相同的背景,因此很难只跟踪一个物体。谢谢你的评论。此时,我可能不得不改变收集数据的方式。