首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用相机2 API捕捉图像而不进行预览攻击

使用相机2 API捕捉图像而不进行预览攻击
EN

Stack Overflow用户
提问于 2018-07-02 15:05:30
回答 1查看 643关注 0票数 0

我正在尝试修改基本的Camera2 API示例(https://github.com/googlesamples/android-Camera2Basic),以便它每x秒拍摄一张图片(然后在后台线程上处理它;我甚至不需要将图像保存到磁盘上),同时显示平滑的预览。不幸的是,在捕获会话上调用capture()会使预览冻结一两秒钟,从而导致用户体验不佳。

是否有一种直接到达预览面并读取图像字节的方法?我不在乎图像的质量,流畅的UX是优先考虑的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-02 20:39:56

如果相机设备是遗赠-level设备,这是不幸的期望。

即使对于有限的设备,相机也必须支持俘获功能,以保证快速的全分辨率捕获。所有的全级别或更好的设备都支持BURST_CAPTURE.

然而,即使在性能较低的设备上,通常也可以在视频记录分辨率上平稳地捕获未压缩的YUV帧。这意味着将具有YUV_420_888格式的YUV_420_888添加到会话配置中,然后处理由此产生的图像。不幸的是,遗留设备上的JPEGs总是很慢,而且一些遗留设备也没有足够的CPU能力来平稳地生成YUV数据(因为必须有一些转换)。

有关更多细节,您可以检查StreamConfigurationMap的输出,并查看哪些输出YUV分辨率在1/30的最低帧时间内运行;这些应该可以保证有限的或更好的设备的顺利运行。

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

https://stackoverflow.com/questions/51139091

复制
相关文章

相似问题

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