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
Opencv 如何检测静态摄像机的位移?_Opencv_Camera_Emgucv_Shift - Fatal编程技术网

Opencv 如何检测静态摄像机的位移?

Opencv 如何检测静态摄像机的位移?,opencv,camera,emgucv,shift,Opencv,Camera,Emgucv,Shift,我正在寻求帮助来解决我的问题。我有一个静态相机,它聚焦在一个地方。我每1秒下载一次当前视图 我想写一个程序,当有人向不同的方向移动相机时检测。之后,我想用shift生成图像。我目前提出了以下解决方案: 创建一个基础帧,我将所有未来帧与之进行比较 使用Canny边缘算法生成边缘 然后用Harris算法生成角点 然后,我想用calcOpticalFlowPyrLK(Lucas Kanade方法)将当前帧与基本帧(图片,其中只是黑色背景上的角点)进行比较 不幸的是,我有问题,因为根据照明,人数等,边缘

我正在寻求帮助来解决我的问题。我有一个静态相机,它聚焦在一个地方。我每1秒下载一次当前视图

我想写一个程序,当有人向不同的方向移动相机时检测。之后,我想用shift生成图像。我目前提出了以下解决方案:

  • 创建一个基础帧,我将所有未来帧与之进行比较
  • 使用Canny边缘算法生成边缘
  • 然后用Harris算法生成角点
  • 然后,我想用calcOpticalFlowPyrLK(Lucas Kanade方法)将当前帧与基本帧(图片,其中只是黑色背景上的角点)进行比较
  • 不幸的是,我有问题,因为根据照明,人数等,边缘和角落是变化的。正因为如此,我不知道是否发生了变化

    有人能给我一些建议吗?有什么解决方法可以检测到移位吗


    感谢您的帮助:)

    请参阅opencv的标准示例:

    opencv/samples/cpp/phase_corr.cpp

    我想这就是你要找的

    到目前为止,一切都很好:)我仍在尝试阅读更多关于相位相关的内容,但它正在发挥作用:)