我正在使用相机在靠近墙壁的无人机上进行稳定工作。为此,我需要提取摄像机相对于墙壁的运动。现在,我使用一个扩展的OpenCV示例,该示例使用goodFeaturesToTrack
命令在每个帧中查找特征点。然后,使用使用Lucas-Kanade方法的calcOpticalFlowPyrLK
将这些特征点跟踪到下一帧。然后,我减去点位置以计算位移。将所有位移相加得出第一帧的总位移。 (之间,我做了一些平均和过滤)。
我得到的结果看起来根本不像照相机的运动。运动向任何方向进行。有人知道出什么事了吗?我是否对此类问题使用了错误的算法?
最佳答案
我认为来自opencv samples / cpp / phase_corr.cpp的标准示例应该有所帮助。
关于c++ - 使用opencv检测相机运动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23869650/