我正在写一个android应用程序,以在用户按下捕捉按钮时快速捕捉闪光/不闪光图像对。为了编写我的应用程序,我提到了Camera2Basic应用程序here。使用Android Camera2快速捕捉闪光灯/不闪光图像API
从Android文档,我发现,闪光灯闪光时,预览请求建设者应该有AE_MODE设置为AE_MODE_ON_ALWAYS_FLASH。
我用三个要求建设者:预览,noflash和闪光灯 三者的区别是:
预览:AE_MODE设置为AE_MODE_ON_ALWAYS_FLASH和AF_MODE设置为CONTROL_AF_MODE_CONTINUOUS_PICTURE
noflash:AE_MODE设置为AE_MODE_ON
闪光灯:AE_MODE设置为AE_MODE_ONALWAYS_FLASH
我使用的Nexus 5设备,我发现,捕获只是一个闪光的形象,一个人必须有预览窗口和flash builder,并使用上面的flash构建器提交一个静态捕获请求。使用这个序列,我总是得到适当的闪光图像中的Nexus 5的预闪总是自动处理。
来到原来的问题,获取一对闪光/无闪光图像的,我的步骤顺序如下:
在拍摄照片,我用预览建设者启动自动对焦触发器。
在自动对焦完成后,我提交两份静像拍摄请求返回使用noflash和闪光灯建设者备份(第一noflash,然后闪)
然而, 第一个我得到的图片是flash image和秒是不闪光图像。我不明白这种产出的逆转。
- JPEG的情况下:首先图像是总是一个正确的闪光图像,第二图像是总是一个适当无闪光图像如下图所示:
- YUV_420_888案例:与JPEG中的相同,但是,noflash图像永远不合适。人们可以注意到白色条纹右侧以及不正确的颜色,也很嘈杂!
为什么输出图像的顺序颠倒?
为什么YUV_420_888格式的无闪光图像不正确?
关闭因为在YUV_420_888格式中两个图像被捕获到bac k回来,我添加一个预览之间的请求,以防止溢出。
我的问题是:
请帮忙。
恐怕每个设备在这种情况下都会有所不同。不要指望任何一个服务全部的序列,并且记住,即使在今天,许多设备也只是部分支持camera2 API。 –
@AlexCohn:我认为你是对的。我在Galaxy S6上进行了测试,闪光灯仅闪光一次,闪光灯图像过度曝光。但是,在这些设备中也必须有合适的顺序来捕捉闪光灯图像 。 – kunal18
'AE_MODE_ON_ALWAYS_FLASH'不适用于Galaxy S6 –