Picamera文档提供了如何在没有实际运动检测算法本身的情况下实现运动检测的示例。
虽然我确信还有更多,但我已经考虑了三种做运动检测算法的方法:
- 这个例子建议我们比较两个PIL图像。
- 与上面相同的例子,我们可以简单地使用帧进行比较吗?
- 这个例子表明我们使用Picamera的内置功能
motion_output
和NumPy数组。
如您所见,#1和#2的示例是文档中提供通用食谱的部分的一部分。#3的例子是实际API文档的一部分。
如果他们甚至没有在配方部分使用内置的motion_ouput
功能来进行运动检测算法,而是使用PIL图像,这一定意味着他们的PiMotionAnalysis类(与motion_ouput
一起使用)没有真正优化?
做运动检测算法的最佳方法是什么?如果你愿意,你还可以包括一个运动检测算法:)。
干杯!
来自男子本人(Dave Jones aka @waveform80):
所以,这就是权衡,基本上:速度(运动估计向量)与精度和控制(捕获比较)。但是请记住,您可以在拆分器上同时运行多个东西,因此您甚至可以尝试组合使用这些方法。
在我的问题中,#1(和#2)代表捕获比较,#3代表运动估计向量。
要获得更详细的解释,请参阅我制作的Github票据,其中Dave非常友好地给出了非常详细的解释。