如何使用Camera2 API android提高捕获的图像分辨率?

时间:2017-02-09 17:35:06

标签: android android-camera2

我正在使用这个项目android-camera2-secret-picture-taker来捕捉图像而没有打开相机视图,但捕获的图像非常糟糕 enter image description here

任何有助于改善这种情况的帮助?
感谢
[编辑]
我尝试了其他手机,它工作正常,我只在华为Y6II上拍摄这些不好的图像,我不知道为什么?手机摄像头为13 mpx,可与原生相机应用程序配合使用。

2 个答案:

答案 0 :(得分:1)

您是否只向相机设备发出了一个捕获请求? (没有自由运行预览等)。

通常情况下,自动曝光,对焦和白平衡程序在稳定到良好值之前需要大约一秒钟的流量。

即使您不想在屏幕上进行预览,也需要在保存最终图像之前从相机请求10-30帧数据。或者为了更加健壮,设置针对某些低分辨率SurfaceTexture的重复请求,并等待CaptureResult CONTROL_AE_STATE / AWB_STATE字段达到CONVERGED,并且AF_STATE字段也是您想要的(取决于您正在使用的AF模式) 。然后捕捉你的图像。

答案 1 :(得分:0)

这是一个非常盲目的猜测,但是,嘿,值得一试。

如果您使用网络上的一些代码片段,建议获取支持的图片大小列表,并选择第一个 - 这已经在华为设备(多个型号)上适用于我,因为华为似乎提供了以分辨率的升序排列(即最小 - 先),而我见过的大多数其他设备按降序排列(即最大 - 先)。

因此,如果这是一个解决问题,可能值得检查。