gpt4 book ai didi

android - Samsung Galaxy SIII 问题 - Camera.onPictureTaken() 返回交错图像而不是正确的捕获图像

转载 作者:太空狗 更新时间:2023-10-29 16:22:02 27 4
gpt4 key购买 nike

我们有一个应用程序利用后置“相机”来捕捉元素图像。到目前为止,我们测试过的所有设备都在捕捉图像方面正常工作,直到三星 Galaxy SIII (S3)。

仅在 Samsung Galaxy SIII 上,我们观察到 Camera.onPictureTaken() 返回的原始图像似乎是交错的,而不是正确的捕获图像。调试每个相机参数设置,确定以下参数 setter 导致问题。如果我们没有在参数上显式设置 PictureSize(),那么它会按预期工作:

parameters.setPictureSize(targetPictureSize);  

默认情况下 parameters.getPictureSize() 返回 [w,h]=[3264, 2448]

'targetPictureSize' 是根据从下面返回的最接近的匹配大小确定的,在这种情况下,我们使用 [w,h]=[1600, 1200] 大小作为 'targetPictureSize'

camera.getParameters().getSupportedPictureSizes();

有人知道原因和解决方法吗?

最佳答案

当您调用 camera.setParameters 时使用不同于之前配置的图片大小(或默认值),而预览处于 Activity 状态时,似乎会发生此问题。解决方法是在开始预览或停止预览前先设置图片大小,设置好参数,再重新开始预览。

parameters.setPictureSize(1600, 1200);
...
camera.stopPreview();
camera.setParameters(parameters);
camera.startPreview();

技术说明:

交错的原因似乎是从相机返回的图像是以默认分辨率 (3264x2448) 捕获的,但被标记为您使用 setPictureSize 指定的分辨率。结果,当显示此类图像时,捕获图像中的每一行像素都显示为(默认分辨率/指定分辨率)像素行。对于 1600x1200 的图片尺寸,这将导致图像出现交错,而在其他分辨率(例如 640x480)下,图像将显得完全损坏。

关于android - Samsung Galaxy SIII 问题 - Camera.onPictureTaken() 返回交错图像而不是正确的捕获图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com