如何检测视频中不移动的 Blob ?
假设我有一个视频和一个初始背景帧位图。是否可以检测到不移动的 Blob /对象?并在该对象周围绘制一个矩形?
最佳答案
这让我想起了一种检测地铁上遗忘物体的算法。如果我没记错的话,您想检测不移动且不在初始背景上的物体,对吧?您可以应用此方法:
使用这样的初始图像(找不到真正空的地铁图像):
还有一张添加了静态物体(垃圾桶)的图像,地铁在移动,一个人在等待,可能移动了一点:
在图像>ThresholdDifference (http://www.aforgenet.com/framework/docs/html/322123cf-39df-0ae8-6434-29cceb6a54e1.htm)之后,我们会得到类似的结果:
注意废物如何与其他不存在的物体一起出现。如果您多次应用此类似的过程,假设每 10 秒一次,然后使用 Image>Intersect ( http://www.aforgenet.com/framework/docs/html/7244211d-e882-09b1-965d-f820375af8be.htm ),几分钟后您将得到如下结果:
您可以使用图像>连接组件标签轻松获取该对象的坐标 ( http://www.aforgenet.com/framework/docs/html/240525ea-c114-8b0a-f294-508aae3e95eb.htm )
这种方法的缺点:
- 需要一些时间(如果每 10 秒拍摄一次快照,则需要几分钟;如果拍摄频率更高,则需要几秒钟)来检测对象。
- 检测与背景颜色相似的物体会花费更多的时间,您可以很容易地在 jar 的上部注意到这个缺点,它也是白色的,就像墙壁一样。
关于c# - Aforge Blob 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578365/