Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用移动对象和摄影机确定帧间对象的移动距离_Python_Opencv_Computer Vision_Cv2_Photogrammetry - Fatal编程技术网

Python 如何使用移动对象和摄影机确定帧间对象的移动距离

Python 如何使用移动对象和摄影机确定帧间对象的移动距离,python,opencv,computer-vision,cv2,photogrammetry,Python,Opencv,Computer Vision,Cv2,Photogrammetry,如果您有一个包含移动对象的视频文件,以及一个移动的摄影机,是否可以跟踪对象在10帧或20帧之间移动的距离?我使用OpenCV来跟踪物体,当相机静止时,我可以毫不费力地找到物体移动的距离,但我似乎无法将头绕在非静止的相机上 该馈送仅为单个2D摄影机馈送,不进行其他跟踪 我能想到的唯一一件事是,从帧内对象的最低坐标到最高坐标水平地将帧灰显,尝试将帧分层在一起,然后测量对象在已知每个帧中对象的x、y坐标的情况下移动的距离。这似乎不是一个非常干净的解决方案,所以我很想知道是否还有其他方法可以解决这个问题

如果您有一个包含移动对象的视频文件,以及一个移动的摄影机,是否可以跟踪对象在10帧或20帧之间移动的距离?我使用OpenCV来跟踪物体,当相机静止时,我可以毫不费力地找到物体移动的距离,但我似乎无法将头绕在非静止的相机上

该馈送仅为单个2D摄影机馈送,不进行其他跟踪


我能想到的唯一一件事是,从帧内对象的最低坐标到最高坐标水平地将帧灰显,尝试将帧分层在一起,然后测量对象在已知每个帧中对象的x、y坐标的情况下移动的距离。这似乎不是一个非常干净的解决方案,所以我很想知道是否还有其他方法可以解决这个问题。

假设要跟踪的对象没有覆盖整个图像,并且有足够的可见背景,您可以尝试在静态背景下用视觉里程计跟踪相机的运动


然后,您可以跟踪对象相对于相机的相对运动,就像它静止一样,然后使用已知的相机运动将运动变换回世界坐标。

图像中是否有其他不移动的对象?你可以使用对次要物体的检测来计算摄像机的运动,唯一的问题是视频并不总是包含相同的背景,因此很难只跟踪一个物体。谢谢你的评论。此时,我可能不得不改变收集数据的方式。