我正在开始搜索以实现一个必须统计某个地方人流量的系统。 最后的想法是拥有http://www.youtube.com/watch?v=u7N1MCBRdl0之类的东西。我正在使用OpenCv开始创建它,我正在阅读和研究。但我想知道是否有人可以给我一些源代码示例,文章和任何可以让我在交易中获得更快的东西。
我开始使用blobtrack.exe样本进行研究,但结果并不好。
提出建议。
答案 0 :(得分:4)
Blob检测是正确的方法,只要您选择好的阈值并且您的照明是均匀一致的;但这里真正的问题是编写一个跟踪算法,可以跟踪多个blob,抵抗丢帧。基本上你希望能够在多个帧上为每个blob分配持久ID,请记住,由于光线条件的变化以及人们走得非常靠近和/或穿过路径,blob可能会丢失几帧,分裂和/或合并。
要“正确”执行此操作,您需要一种模糊ID分配算法,该算法可以抵抗掉帧(即blob ID保留,如果blob丢失一帧或两帧,则理想情况下会预测运动)。您可能还希望保留ID合并和拆分的历史记录,以便如果两个ID合并为一个,然后将一个拆分为两个,则可以将各个合并的ID重新分配给生成的两个blob。
根据我的经验,openFrameworks openCv基本示例是一个很好的起点。
答案 1 :(得分:0)
我不会把这个作为正确答案。
对于能够阅读Portugues或可以使用翻译的人来说,这只是一个选项。这是我的毕业设计项目,并且有一个计算人数的选项的解释。
限制:
优点:
我使用OpenCV来执行基本功能,捕获屏幕,通过像素等等。但计算人数的算法是由我自己完成的。
您可以在paper
上查看关于这个项目的最终意见:它不准备活着,成为一个产品。但它作为研究的基础非常有效。