首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用摄像头数据更快地执行计算?

如何使用摄像头数据更快地执行计算?
EN

Stack Overflow用户
提问于 2015-11-05 10:46:34
回答 1查看 61关注 0票数 0

我正在开发一款Android应用程序,它可以逐帧获取摄像头数据,并计算每帧的像素颜色平均值。问题是,虽然摄像头回调onPreviewFrame(byte[] data, Camera camera)每秒被调用约24次,但如果我将计算放在摄像头回调中,回调频率会明显降低到每秒8-10个回调,这太低了。

例如:

代码语言:javascript
复制
mCamera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback() {
            @Override
            public void onPreviewFrame(byte[] data, Camera camera) {
                Log.e(tag, "Frame");
            }
}

打印"Frame“大约每秒24次,这是很好的。然而,

代码语言:javascript
复制
mCamera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback() {
            @Override
            public void onPreviewFrame(byte[] data, Camera camera) {
                //do heavy calculations with data array
                Log.e(tag, "Frame");
            }
}

打印“帧”大约每秒8次。

有没有办法加快摄像机的回调频率,同时仍然对帧数据执行操作?

EN

回答 1

Stack Overflow用户

发布于 2015-11-05 11:35:31

无需重写代码,您就可以利用现代设备的多核体系结构:将处理负载卸载到线程池,

但是很有可能你可以通过优化显着提高你的算法的性能。转换为原生代码可能会有所帮助,特别是当您完全使用霓虹灯向量指令时。

如果您在RenderScript中重写处理或使用图形加速器的功能,则可以实现显著的加速。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33535801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档