如何使用opencv检测移动传送带上的移动物体

How to detect moving object on a moving conveyor using opencv

我正在为螃蟹建立一个分级系统。在这个系统中,动物(螃蟹)被放置在一个移动的传送带上,我需要根据这个传送带上的摄像头拍摄的图像检测它的运动来识别死的或活的动物。 输送带颜色为黑色。

由于传送带一直在移动,所以我不能像 here 那样应用使用固定相机的方法。在这种情况下,有人对使用 opencv 进行动物运动检测有什么建议吗?如果有必要,我可以使用多个相机。谢谢

嗯,最明显的答案是: 1)调整传送带在不同时间段的画面,使它们成为同一区域。 2) 观察哪些螃蟹有不同的姿势(比如,"substract the images")——不同的区域(像素)意味着发生了动作。

如果使用跟踪 - 嗯,你应该训练你的分类器来观察螃蟹,而不是以同样的方式比较螃蟹的区域。但我认为这对于您的特定问题来说太复杂了。

嗯,这是一个有趣的问题。在权衡问题的不同解决方案时,我了解到螃蟹是变温动物,即它们无法控制自己的体温,而是它们的体温等于它们所处环境的温度。因此,使用远程温度计是不可行的题。 (但我学到了一些新东西,谢谢你:])

一个不同的,但有点残忍的方法是,在传送带上拍一只螃蟹,然后给它一个电脉冲(非常非常小的电压,足以让它反应,类似于我们在静电放电时的反应)并立即拍摄另一只螃蟹。比较两张图片,看看螃蟹的动作是否有差异。如果是,那它应该还活着,如果不是,RIP crab.

这个解决方案也有缺点:

  1. 我真的不喜欢电击螃蟹的想法, 即使它是低电压。对我来说听起来很残忍。我不知道, 如果您居住的地方在法律上可行。
  2. 这需要添加另一个步骤来处理。
  3. 我完全不知道电压是多少 在这样的系统中使用。会不会对员工造成危险 在传送带周围?

[我希望我不会因为在这里建议电击螃蟹而被扔石头]