将图像另存为 Ultra HDR (JPEG_R)

问题描述 投票:0回答:1

我发现的与新的 Ultra-HDR (JPEG_R) 格式相关的唯一代码是:https://github.com/google/libultrahdr/blob/main/examples/ultrahdr_app.cpp

据我所知,这是一个通用/桌面的东西,不能直接适用于android。

我正在使用 Camera2Raw 示例的修改版本,当我尝试设置 JPEG_R

ImageReader
时,我只是收到“配置失败”错误。我的手机是 Pixel 6 Pro,它可以使用官方相机应用程序保存超 HDR 图像。即使
ImageReader
成功配置,我仍然需要正确保存 JPEG_R。例如,以下是保存普通 JPEG 和 DNG 的代码:

switch (format) {
                case ImageFormat.JPEG: {
                    ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
                    byte[] bytes = new byte[buffer.remaining()];
                    buffer.get(bytes);
                    FileOutputStream output = null;
                    try {
                        output = new FileOutputStream(mFile);
                        output.write(bytes);
                        success = true;
                    } catch (IOException e) {
                        e.printStackTrace();
                    } finally {
                        mImage.close();
                        closeOutput(output);
                    }
                    break;
                }
                case ImageFormat.RAW_SENSOR: {
                    DngCreator dngCreator = new DngCreator(mCharacteristics, mCaptureResult);
                    FileOutputStream output = null;
                    try {
                        output = new FileOutputStream(mFile);
                        dngCreator.writeImage(output, mImage);
                        success = true;
                    } catch (IOException e) {
                        e.printStackTrace();
                    } finally {
                        mImage.close();
                        closeOutput(output);
                    }
                    break;
                }

case ImageFormat.JPEG_R
会是什么样子?如果真的很复杂,那就这样吧。但我只是想确保没有一些我不知道的简单方法可以做到这一点。该格式仍然很新,所以也许这只是等待有人做出一个好的示例实现的问题。

android android-camera2
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.