如何解决使用格式 ImageFormat.Private 解释来自 ImageReader 的数据
我已经设置了一个针对 ImageReader 对象表面的 ConstrainedHighSpeedCaptureSession。我的目标是捕捉一小段我想要进一步处理的高 FPS 素材(例如,找到物体的加速度)。
HighSpeedCapture 会话仅在 ImageReader 的格式设置为 ImageFormat.PRIVATE 时起作用——这是在 for(WebElement e : allImgs) {
a.moveToElement(e).build().perform();
System.out.println(allPrices.get(i).getText());
if(i == 5) {
e.click();
break;
}
i++;
}
中强制的,比较 android source。我知道 PRIVATE 格式是特定于实现的,因此无法直接解释原始字节,但是,实现应该知道如何将此图像格式转换为某种标准格式,这正是我所需要的。
目前,我只是对通过 android.hardware.camera2.utils.SurfaceUtils.checkHighSpeedSurfaceFormat
回调可用的捕获图像做出反应。
必须有某种方式来解释私有格式的ImageReaders,也许数据可以在后台渲染到一些Canvas或不同的Surface。
解决方法
您可以使用 Vulkan 导入私有格式的图像。您需要import android HardwareBuffer memory vulkan 并使用配置了Y′CBCR conversion 的VkExternalFormatANDROID 采样器。
我相信也应该有类似的方法可以在 OpenGL 中导入这样的图像,但我没有使用过。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。