调整TIFF 6.0条带图像时如何保留原规范且不转为TIFF 5.0或瓦片格式
解决方案
你可以通过给ImageMagick增加指定TIFF输出参数的方式直接得到符合要求的文件,无需额外转换工具,正确命令如下:
convert test.tif \ -brightness-contrast 50,50 \ -type palette \ -compress None \ -define tiff:tiff-version=6.0 \ -define tiff:rows-per-strip=20 \ -define tiff:preserve-tags=37553,37554 \ -profile none \ result.tif
各参数作用说明:
-type palette:保持原始的索引色(调色板)存储模式,不会默认转为RGB三通道,和Photoshop的保存逻辑一致-define tiff:tiff-version=6.0:强制输出符合TIFF 6.0规范的文件-define tiff:rows-per-strip=20:指定每20行存为一个条带,完全匹配原始文件的条带配置,不会转为瓦片也不会将全图存在单个条带中-define tiff:preserve-tags=37553,37554:保留原始的SPOT卫星私有标签,既可以消除命令执行告警,也不会丢失元数据-profile none:不嵌入ICC配置文件,符合你的保存要求-compress None:无压缩存储
tiffcp参数错误说明
你之前使用的tiffcp -t中的-t参数本身就是强制输出瓦片格式的开关,这是你得到瓦片排列文件的直接原因。如果需要用tiffcp做格式调整,正确的条带输出命令为tiffcp -r 20 输入.tif 输出.tif,-r参数用于指定每一条带的行数,不要加-t参数即可保留条带排列。
备选方案
如果ImageMagick输出的格式仍不符合校验要求,可以使用对TIFF规范兼容性更好的GraphicsMagick替代,命令参数和上述ImageMagick命令基本一致。处理完成后可通过tiffinfo、Jhove重新校验格式合规性。
内容的提问来源于stack exchange,提问作者Marsh Randy
相关产品推荐
相关产品推荐

