c# - 在 java(一些 java API)或 C#(emgucv、dshownet、Aforge.NET)中进行实时对象跟踪

标签 c# java real-time tracking emgucv

我正在做一个名为用户发起的实时对象跟踪系统项目。这是我希望在项目发生的事情:

1) 从网络摄像头获取连续流。

2) 用户可以使用鼠标在感兴趣的对象周围绘制一个正方形。

3) 然后从那里开始,正方形随着感兴趣的物体移动。因此,跟踪对象移动的每个位置因此称为对象跟踪。


目前的进展


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


技巧一


  • 有一个保存的视频
  • 我加载它。
  • 当视频正在播放时,我会在特定场景暂停(使用暂停按钮)它并在对象上画一个正方形。
  • 当我按下播放按钮时,方 block 将与对象一起移动,没有/5 秒的处理时间 [或] 我会给应用程序一些处理时间(例如 3 分钟),然后它将从那时起播放跟踪发生。

技巧二


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

技巧三


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

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


  • 持续从网络摄像头获取输入
  • 在对象没有任何移动时(例如,当一个人坐在椅子上时),在对象周围画一个正方形,中间不要停顿
  • 然后通过移动方 block 和对象来显示跟踪,没有处理时间 [或] 2 秒的轻微处理时间,这样延迟就不会很明显。

要跟踪的对象:-


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

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

编码时间: 1 又 1/2 个月


进度: 分割时仍然出现错误。 (有人建议先开始分割保存的视频,我现在正在尝试)


我的问题


1) 我可以在 1 个月和 1/2 个月的时间范围内实现哪种技术(四种中的)

2) 编码,是 java + 一些 java 框架 还是 C#.netemgucv/AForge。 net/Dshownet [顺便说一句,我在 java 方面的知识 而在C#.net]??


提前致谢

最佳答案

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

关于c# - 在 java(一些 java API)或 C#(emgucv、dshownet、Aforge.NET)中进行实时对象跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2911531/

相关文章:

c# - Azure Web API 仅适用于 Office 365 用户?

c# - 如何使用属性向 C# 类添加可见信息?

java - dao(或者可能是存储库)应该将 id 或实体作为参数

ios - xcode图像位置x y实时更新

android - 如何使用 react native 集市显示来电

javascript - 使用带有nodejs的服务器发送事件并使用react的问题

c# - 特殊随机数

c# - 为什么隔离存储在我的 WP7 应用程序中没有持久存在?

java - 降序快速排序在重复条目上无法正常工作

Java DatagramPacket 收到的文本文件以 HEX 格式写出,并用 0x00 数据填充