V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LUO12826
V2EX  ›  Apple

iPhone 的 ProRaw 照片转为 jpg 的同时保留 HDR 信息

  •  
  •   LUO12826 · 197 天前 · 1509 次点击
    这是一个创建于 197 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 iOS 17 前,iPhone 14 pro 系列的用户为了能拍 4800 万像素的照片,要么开启 ProRaw 要么用第三方相机。但是 48mp 的 ProRaw 实在太大,没必要每张都保留在手机上,因此楼主之前的常规操作是用快捷指令里的格式转换功能把 raw 转为 jpg 。但这样做有一个问题,就是似乎会把 HDR 信息( gain map )丢掉,直观感受就是转成 jpg 之后没有“比白更白”的高光了。最近研究了一下怎样在转换时保留 HDR 信息,结果如下(看到有人发帖提及 HDR 照片,想分享一下):

    方案 1:

    升级 iOS 17 后使用 lightroom 等软件将 ProRaw 保存为通用的 HDR 照片文件。具体可以看 t/981298 这个帖子的讨论。

    方案 2 (最大程度保留 Apple 相机直出颜色):

    1.如果照片未在相册中编辑,可以使用 exiftool 来提取 dng 文件中的预览 jpg 文件。这个预览文件就是 iOS 相机的直出图。

    ( brew install exiftool ,如果没有的话)

    exiftool -b -PreviewImage xxx.DNG > xxx.jpg

    2.如果照片已经在相册中编辑,直接隔空投送给别的设备,相册会将编辑结果导出为 jpg 并发给别的设备。之所以情况 1 不能用这个方法,是因为照片未在相册中编辑过的话隔空投送会传送原始 DNG 文件。

    如果有有更好的方案,欢迎提出!

    14 条回复    2024-01-14 00:49:37 +08:00
    Valyrian
        1
    Valyrian  
       197 天前
    因为 jpeg 是 sRGB 的色彩空间,根本无法表达 HDR 信息,你需要的是 rec 2020 色彩空间,ffmpeg 应该就能转,可以用这几个格式 webp, jpeg xl, avif, heif
    LUO12826
        2
    LUO12826  
    OP
       197 天前
    @Valyrian #1 苹果在 iOS 17 前有自己的私有 HDR 方式,是在 jpg 的 exif 里的某个私有字段加上了 gain map ,用来指示照片的哪些像素需要“比白更白”。我说的方案 2 就可以在 ProRaw 转为 jpg 时带上这个 gain map 。你说的这种方式类似于上面的方案 1 ,依靠通用的 hdr 格式(但我不确定 ffmpeg 能不能处理 DNG 文件)。
    tywtyw2002
        3
    tywtyw2002  
       197 天前 via iPhone
    试试 imagemagick , 不知道支不支持
    Valyrian
        4
    Valyrian  
       197 天前
    @LUO12826 感觉还是 avif 好点,chrome 和苹果都支持。不知道 ffmpeg 能不能解码 proraw ,可能要加个 profile tonemap 之类的。
    metalman7511
        5
    metalman7511  
       197 天前
    有个 app 叫 myertidy ,一键可以解决你的问题
    LUO12826
        6
    LUO12826  
    OP
       197 天前
    @metalman7511 #5 试了一下,转换后丢掉了 HDR 信息。估计是调用系统的哪个 API 转的,和快捷指令里的一样
    lqcc
        7
    lqcc  
       197 天前
    ios 17 之后,iphone 14 pro 不是有了一个 heif max 选项吗?这个可以拍 4800 hdr 、并保存为 jpg 格式的吗?
    LUO12826
        8
    LUO12826  
    OP
       197 天前
    @lqcc #7 确实,你说得对。只是有时候还是想要 Raw 哈哈哈
    jsq2627
        9
    jsq2627  
       197 天前 via iPhone
    @Valyrian jpeg 可以带有 color profile ,不一定是 srgb 。但是 jpeg 因为只有 8bit ,不是理想的 HDR 存储容器
    hunono
        10
    hunono  
       197 天前   ❤️ 1
    建议还是拍 raw ,我昨天测试了同一场景 raw 和 heif (本身已是 hdr )后期更强的 hdr 效果,heif 断层涂抹严重,raw 后期出来完全没修图的感觉,很完美。
    为什么要后期更强的 hdr 效果?因为 iPhone 拍摄的 hdr 偏保守,如果 srgb 的白点是 300 尼特、180 尼特,那 iPhone 拍的 hdr 感觉最多 600 尼特、800 尼特,后期可以激发 1000 、2000 尼特的效果。
    aero99
        11
    aero99  
       197 天前
    @hunono 对比 ios17 heif max 效果如果,相对 raw 的效果相差大不大,只是 raw 太占空间了
    hunono
        12
    hunono  
       197 天前
    @aero99 heif max 只是将分辨率变高了,实际画质没变化,与 raw 格式还是有差距。
    LudwigWS
        13
    LudwigWS  
       197 天前 via iPhone
    你们也太专业了
    qdwang
        14
    qdwang  
       105 天前   ❤️ 1
    可以试试我开发的 JPEG XL Toolbox ,能把 ProRAW 转换成 JPEG XL ,同时保留 HDR 效果
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1162 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:59 · PVG 01:59 · LAX 10:59 · JFK 13:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.