java(一些java API)或C#(emgucv,dshownet,Aforge.NET)中的实时对象跟踪

Hax*_*xed 6 c# java tracking real-time emgucv

我在做一个项目用户发起的实时目标跟踪系统.在这里,我想在项目中发生什么:

1)从网络摄像头连续流.

2)使用鼠标,用户可以围绕感兴趣的对象绘制正方形.

3)然后从那里开始,正方形与感兴趣的物体一起移动.因此,跟踪对象移动的每个位置因此对象跟踪.


目前的进展


我使用dshownet(DirectShow的.NET包装器)从网络摄像头获取输入.我正在将视频分割为帧.我有4种方法来做这个项目:


技术1


  • 有一个保存的视频
  • 我加载它.
  • 当视频运行时,我在特定场景暂停(使用暂停按钮),并在对象上绘制正方形.
  • 当我按下播放按钮时,方块将与对象一起移动,没有/ 5秒处理时间[或者]我将给应用程序一些处理时间(例如3分钟),然后它将从该点开始播放跟踪地点.

技术2


  • 有一个保存的视频
  • 我加载它.
  • 当视频正在运行时,我不会暂停它,但会快速在对象上绘制一个正方形(当对象仍处于某个点时).
  • 然后在没有处理时间的情况下跟踪对象.[或]使用一些处理时间(10秒延迟)使文件播放更长时间.

技术3


  • 我从网络摄像头输入1分钟.
  • 将该视频保存到文件中
  • 并执行方式1或方式2

技术4 - (显然这看起来更难)


  • 连续从网络摄像头获取输入
  • 当对象显示没有移动时(例如当一个人坐在椅子上时)在对象周围画一个正方形而没有任何暂停
  • 然后通过移动方块和对象来显示跟踪,没有处理时间[OR] 2秒的轻微处理时间,使得延迟不明显.

要跟踪的对象: -


基本上我可以跟踪任何东西,因为我用鼠标绘制

  • 我打算使用整个身体(但如果这很麻烦..下一个选项)
  • 我会尝试跟踪一个人的脸(显然是用鼠标绘制区域).

编码时间: 1个半月


进展:分裂时仍然出现错误.(有人建议先开始拆分保存的视频,我现在正在尝试这样做)


我的问题


1)我可以在1个半月的时间框架内实施哪种技术(四个中的哪一个)

2)向代码,是java的 +一些Java框架好这个或C#的.NETemgucv/AForge.net/Dshownet [通过我的方式知识的java良好和不那么C#的.NET ] ??


提前致谢

Adr*_*gan 2

您可以使用 Java Media Framework 和 ImageJ 库在 Java 中实现技术 1、2、3。对于技术 4,考虑到时间限制,您最好使用 C++ 或其他非解释语言来实现。