如何批量水平翻转DNG图像?寻求ImageMagick替代方案
批量水平翻转DNG图像的可行方案
给你几个靠谱的一次性解决方案,不用死磕ImageMagick的DNG委托问题:
dcraw + ImageMagick + exiftool 组合流
这套组合能绕过DNG直接处理的问题,步骤清晰:- 用dcraw把DNG解码成无压缩TIFF(dcraw对Raw格式支持很稳)
- 用ImageMagick的
flop命令处理TIFF(这个你已经熟了) - 用exiftool把原DNG的元数据迁移回处理后的文件,再转成DNG格式
Linux下可以直接写个循环批量处理:
for dng in *.dng; do # 转无压缩TIFF dcraw -4 -T "$dng" # 水平翻转 magick convert "${dng%.dng}.tiff" -flop "${dng%.dng}_flipped.tiff" # 转回DNG并保留原元数据 exiftool -tagsfromfile "$dng" -DNG "${dng%.dng}_flipped.tiff" # 清理临时文件 rm "${dng%.dng}.tiff" "${dng%.dng}_flipped.tiff" doneWindows下可以用批处理或者PowerShell写类似循环,工具都能找到对应版本。
用RawTherapee批量导出
这个是GUI操作,上手快:- 打开RawTherapee,导入所有1400张DNG
- 选一张图,在「变换」面板里开「水平翻转」(就是你要的左右镜像效果)
- 把这个设置存成预设,然后全选所有图应用预设
- 批量导出的时候选DNG格式,记得勾上保留元数据,导出的就是像素实际翻转后的DNG,不是只加标记的那种。
要是愿意折腾,也可以升级ImageMagick的DNG依赖库
比如Linux更新libraw-tools包,Windows装带最新DNG SDK的ImageMagick版本,更新后应该就能直接用magick convert input.dng -flop output.dng处理了。不过这适合之后还要用的情况,纯一次性需求的话,前面两个方案更省时间。
内容的提问来源于stack exchange,提问作者greg.lafour
相关产品推荐
相关产品推荐

