You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Exiftool为TIFF图片添加CFAPattern2标签?

解决Exiftool无法写入CFAPattern2标签的问题

1. 明确CFAPattern2的格式要求

CFAPattern2是二进制类型的标签,并非纯文本字符串。直接输入"2 1 1 0"这类字符串会被判定为格式无效,导致写入失败。该标签要求输入对应字节序列的数值数组或十六进制表示。

2. 命令行写入的正确语法

用-v参数执行原命令时,应该能看到格式错误的提示。修正后的命令可采用两种形式:

  • 十六进制字节序列形式:
exiftool -m -SubIFD:CFAPattern2='0x02010100' -overwrite_original output.tiff
  • 数值数组形式(Exiftool会自动转换为二进制):
exiftool -m -SubIFD:CFAPattern2='2 1 1 0' -overwrite_original output.tiff

注:-m参数可跳过部分格式检查,对写入这类特殊标签至关重要

3. JSON文件写入的正确格式

JSON中不能用字符串表示,需改用数值数组形式。修正后的metadata.json如下:

{
  "SourceFile": "output.tiff",
  "EXIFIFD:WhiteLevel": 65535,
  "EXIF:ExposureTime": 0.017537,
  "SubIFD:CFAPattern2": [2, 1, 1, 0],
  "EXIFIFD:BlackLevel": 64,
  "EXIFIFD:ISO": 232,
  "EXIF:BitsPerSample": 16,
  "EXIF:FillOrder": 1,
  "EXIF:AnalogBalance": 2.0859375
}

执行命令保持不变:

exiftool -json=metadata.json -overwrite_original output.tiff

4. 验证写入结果

执行以下命令确认标签是否写入成功:

exiftool -SubIFD:CFAPattern2 output.tiff

正常输出应为:

CFA Pattern 2                  : 2 1 1 0

5. 额外注意事项

  • 若目标TIFF文件原本没有SubIFD,需先初始化:
exiftool -SubIFD:NewSubfileType=0 -overwrite_original output.tiff

再执行写入CFAPattern2的命令。

内容的提问来源于stack exchange,提问作者Alexandra Krnčová

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:27:04