将图像切片的最快方法是什么?

3
我需要将一张大小为14043×9933的图片切成256 x 256的瓦片,且需要不同缩放级别下的瓦片(数量不同),请帮我找到最有效的方法。我一直在使用gdal2tiles.py(它随着GDAL一起提供),但我想知道是否有其他选择,也许Geotools具有这种功能?或者其他替代方案(我不需要对瓦片进行地理参考)。谢谢。
2个回答

1

gdal2tiles是一个很好的工具,可以进行许多投影,但在简单的栅格瓦片金字塔上速度较慢,并且需要大量内存。dzsave在RAM使用上更快且更高效。在这台配备 25k x 25k 的 RGB JPG 文件的笔记本电脑上,我看到:

$ time gdal2tiles.py -p raster ../wac_nearside.jpg x
Generating Base Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
Generating Overview Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
real    3m51.728s
user    3m48.548s
sys 0m2.992s
peak memory 400mb

但是使用 dzsave 我看到:
$ time vips dzsave ../wac_nearside.jpg y --suffix .png
real    0m36.097s
user    1m39.900s
sys 0m6.960s
peak memory 100mb

速度会更快,但几乎所有的时间都花在了PNG写入上。如果我回到默认的JPEG瓦片,我会看到:

$ time vips dzsave ../wac_nearside.jpg y
real    0m10.791s
user    0m20.268s
sys 0m4.672s
peak memory 100mb

gdal2tiles 快 20 倍以上。

dzsave 还可以自动为您进行居中处理,因此不需要额外的 gdal_translate 步骤。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接