查看使用网络摄像头移动纸张的距离

时间:2012-03-01 05:54:52

标签: opencv computer-vision webcam

我有一个网络摄像头安装在桌子下方约12英寸处。我下面有一张纸,可以向任何方向移动,但只能在桌子上的2D平面图上移动。我想用网络摄像头找出纸张移动的方向。有算法可以做到这一点吗?它叫什么?

1 个答案:

答案 0 :(得分:2)

我建议光流。来自维基百科:

  

光流是由观察者(眼睛或相机)与场景之间的相对运动引起的视觉场景中物体,表面和边缘的明显运动模式

或者引用斯坦福人工智能实验室的演示文稿:

  

给定图像中的一组点,在另一个图像中找到相同的点。

这意味着您可以计算属于您想要从一个图像跟踪到另一个图像的对象的一组点的位移 - >导致一组向量描述对象的方向。

  1. 使用cvGoodFeaturesToTrack()查找要跟踪的好图像功能 - 只要您的纸张与表格不同,就可以获得良好的效果
  2. 使用cvFindCornerSubPix()
  3. 查找其角落
  4. 使用cvCalcOpticalFlowPyrLK()计算光流 - “LK”表示“Lucas-Kanade”,算法名称
  5. 有关详细信息,请参阅OpenCV's Motion Analysis and Object Tracking documentation