我正在使用 MS Deep Zoom Composer 为百万像素大小的图像生成平铺图像集。
现在我正在准备一个密集的黑白线条图。调整大小时缺少伽马校正非常明显;缩放瓷砖时,在更高的缩放级别上看起来会变得更亮。这使得在加载阶段瓷砖之间的边界非常明显。
虽然它不会以任何方式损害可用性,但它有点难看。我想知道是否有任何替代 Deep Zoom Composer 可以正确调整大小的方法?
我正在使用 MS Deep Zoom Composer 为百万像素大小的图像生成平铺图像集。
现在我正在准备一个密集的黑白线条图。调整大小时缺少伽马校正非常明显;缩放瓷砖时,在更高的缩放级别上看起来会变得更亮。这使得在加载阶段瓷砖之间的边界非常明显。
虽然它不会以任何方式损害可用性,但它有点难看。我想知道是否有任何替代 Deep Zoom Composer 可以正确调整大小的方法?
众所周知,netpbm 套件的pamscale 1不会像您描述的那样搞砸缩放图像。它使用 gamma 校正,而不是考虑不周的“高质量过滤器”和其他用于掩盖不正确缩放算法的魔法。
当然,您将需要一些脚本 - 它不是直接替代品。
我们在此处维护 DZI 创建工具列表:
http://openseadragon.github.io/examples/creating-zooming-images/
我不知道他们中是否有人进行伽马校正,但他们中的一些人可能一开始就没有这个问题。此外,它们中的许多都带有源,因此如果需要,您可以自己添加伽马校正。
vips deepzoom 创建者可以做到这一点。
您可以像这样制作一个深度缩放金字塔:
vips dzsave somefile.tif pyr_name
它会读取somefile.tif并写入pyr_name.dzi和pyr_name_files,这是一个包含瓷砖的文件夹。您可以对金字塔名称使用.zip扩展名,它会直接编写一个包含整个金字塔的未压缩 zip 文件——这在 Windows 上要快得多。有一篇博客文章,其中包含更多示例和解释。
要使其缩小伽玛校正,您需要将图像移动到线性色彩空间以进行保存。最简单的大概是scRGB,也就是带线性光的 sRGB。你可以这样做:
vips colourspace somefile.tif x.tif scrgb
它会写x.tif,一个 scRGB 浮点 tiff。
您可以使用.dz作为输出文件后缀,在单个命令中运行这两个操作。这会将色彩空间变换的输出发送到 deepzoom writer 进行保存。deepzoom writer 将使用.jpg来保存每个 tile,jpeg writer 知道 jpeg 文件只能是 RGB,因此它会自动将 scRGB tile 转换回纯 sRGB 进行保存。
把所有这些放在一起,你需要:
vips colourspace somefile.tif mypyr.dz scrgb
这应该建立一个具有线性光收缩的金字塔。
您可以在文件名后的方括号中将选项传递给 deepzoom 保护程序,例如:
vips colourspace somefile.tif mypyr.dz[container=zip] scrgb
博客文章有详细信息。
更新:Windows 二进制文件在这里,可以节省您的狩猎时间。在某处解压,vips.exe 在 /bin 文件夹中。