人们使用OpenCV计数

时间:2011-04-06 02:08:21

标签: opencv

我正在开始搜索以实现一个必须统计某个地方人流量的系统。  最后的想法是拥有http://www.youtube.com/watch?v=u7N1MCBRdl0之类的东西。我正在使用OpenCv开始创建它,我正在阅读和研究。但我想知道是否有人可以给我一些源代码示例,文章和任何可以让我在交易中获得更快的东西。

我开始使用blobtrack.exe样本进行研究,但结果并不好。

提出建议。

2 个答案:

答案 0 :(得分:4)

Blob检测是正确的方法,只要您选择好的阈值并且您的照明是均匀一致的;但这里真正的问题是编写一个跟踪算法,可以跟踪多个blob,抵抗丢帧。基本上你希望能够在多个帧上为每个blob分配持久ID,请记住,由于光线条件的变化以及人们走得非常靠近和/或穿过路径,blob可能会丢失几帧,分裂和/或合并。

要“正确”执行此操作,您需要一种模糊ID分配算法,该算法可以抵抗掉帧(即blob ID保留,如果blob丢失一帧或两帧,则理想情况下会预测运动)。您可能还希望保留ID合并和拆分的历史记录,以便如果两个ID合并为一个,然后将一个拆分为两个,则可以将各个合并的ID重新分配给生成的两个blob。

根据我的经验,openFrameworks openCv基本示例是一个很好的起点。

答案 1 :(得分:0)

我不会把这个作为正确答案。

对于能够阅读Portugues或可以使用翻译的人来说,这只是一个选项。这是我的毕业设计项目,并且有一个计算人数的选项的解释。

限制:

  • 在改变背景光线的环境中表现不佳。
  • 必须为您将使用它的每个位置配置它。

优点:

  • 速度快!

我使用OpenCV来执行基本功能,捕获屏幕,通过像素等等。但计算人数的算法是由我自己完成的。

您可以在paper

上查看

关于这个项目的最终意见:它不准备活着,成为一个产品。但它作为研究的基础非常有效。