多个Android Camera预览缓冲区用于运动检测?

时间:2012-09-04 12:02:38

标签: android camera

我想尝试通过比较连续的相机预览帧来进行运动检测,并且我想知道我是否正确地解释了android文档。告诉我这是否正确:

如果我希望相机预览使用我自己分配的缓冲区,我必须调用addCallbackBuffer(),至少两次以获得两个单独的缓冲区进行比较。

然后我必须使用回调的setPreviewCallbackWithBuffer()形式,以便预览将填入我分配的缓冲区。

一旦我至少进行了第二次回调,我可以做任何冗长的处理,我喜欢比较缓冲区,相机会让我一个人,不再做任何回调或覆盖我的缓冲区,直到我返回最旧的缓冲区通过再次调用allCallbackBuffer()到相机(最新的缓冲区将保持不变,以便我在下一个回调中用于比较)。

最后一个是我最不清楚的。我不会得到错误或任何东西,因为我的缓冲区用完了吗?它真的会默默地删除预览帧而不进行回调吗?

1 个答案:

答案 0 :(得分:2)

好吧,我去实现了上面的算法并且它们确实有效,所以我想我正确地解释了文档: - )。

如果有人想要查看我经过大量修改的CameraPreview代码来执行此操作,则会在我的网页上显示:

http://home.comcast.net/~tomhorsley/hardware/scanner/android-scanner.html