我正在使用ImageMagick从jpeg文件创建Tiled TIFF . 我的目标是使用IIPImage服务器 . 我可以轻松生成文件但我的问题是我必须处理大型图像仓库,并且优化我的TIFF文件占用的空间至关重要 .
因此,通过使用45%的压缩(以及256x256的瓦片),我获得了可接受的质量,这是我所知道的最高优化级别 . 使用该配置,我的TIFF文件与原始jpeg文件的大小相同 . 例如,如果jpeg的权重为10Mo,则结果TIFF的权重为11.4Mo . 这很好但不是因为如果我的初始仓库重量为2,我必须为我的项目计划至少4To .
因此,我想知道是否存在一种方法来进一步优化我的TIFF文件的大小,而不会失去超过45%的质量...通过使用ImageMagick或其他工具 .
有关信息,我正在使用此命令生成TIFF .
convert <jpeg file> -quality 45 -depth 8 +profile '*' -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:<tiff file>'
谢谢 !
2 回答
我想我只是给@ mark-setchell的优秀答案添加了一个注释,但是它出来的时间太长了,所以我已经单独制作了一个,对不起 .
你的问题是imagemagick(至少在当前的Ubuntu上)将金字塔形的JPEG TIFF保存为RGB而不是YCbCr,因此它们非常庞大 . 例如,
wtc.jpg
是使用默认Q75保存的10,000 x 10,000像素JPEG图像:你可以看到这样的压缩类型:
也许有一些方法可以让它使用YCbCr代替?不幸的是,我不确定如何 .
我会改用libvips . 它的速度提高了10倍以上(无论如何都在这台笔记本电脑上),使用的内存更少,而且它能正确启用YCbCr模式,因此您可以获得更小的文件:
如果将Q设置为较低,则可以将尺寸调低:
虽然我自己坚持默认的Q75 .
我不熟悉IIPImage服务器,所以我的想法可能不合适 . 如果存储平铺的TIFF,则存储多个分辨率,但除了最高分辨率之外的所有分辨率都是多余的 - 那么您是否可以存储最高分辨率并根据需要生成较低分辨率?
“PalaisDuLouvre.tif”图像为2MB作为平铺TIF:
它包含6种不同分辨率的相同图像:
然而,我可以将它存储在比你平铺的TIFF更好的质量(90%),如下所示:
尺寸为554kB:
并根据需要在1秒内生成与您的相同的平铺TIF:
或者,您可以使用
vips
使您的TIFF金字塔更快 . 以下我的iMac需要0.2秒,比 ImageMagick 快近5倍: