我正在寻求帮助来解决我的问题。我有一台静态相机,它聚焦在一个地方。我每1秒下载一次当前视图。
我想写一个程序,当有人向不同的方向移动相机时,它会检测到。在那之后,我想生成带有偏移的图像。我目前正在想出这个解决方案:
- 创建一个基准框架,将所有未来的框架与之进行比较
- 使用Canny edge算法生成边
- 然后用Harris算法生成角点
- 然后,我想用calcOpticalFlowPyrLK(Lucas Kanade方法)将当前帧与基本帧(图片,其中只有黑色背景上的角点)进行比较
不幸的是,我遇到了问题,因为根据照明、人数等,边缘和角落都会发生变化。正因为如此,我不知道是否发生了转变。
有人能给我一些建议吗?如何检测偏移?
感谢您的帮助:)
参见opencv的标准示例:
opencv/samples/cpp/phase_cr.cpp
我想这就是你要找的。