将图像切割成图块的最快方法是什么?

时间:2011-01-11 01:43:59

标签: image optimization tiles geotools

我需要以最有效的方式将图像(尺寸:14043×9933)切割成具有不同缩放级别(图块数量)的256 x 256图块。我一直在使用gdal2tiles.py(它附带GDAL),但我想知道是否有其他选项,也许Geotools有这个功能?或任何其他替代方案(我不需要和地理参考瓷砖)。

提前致谢。

2 个答案:

答案 0 :(得分:0)

试试这个帖子:

Slice up an image into tiles

答案 1 :(得分:0)

gdal2tiles是一件好事,可以做很多投影,但对于简单的栅格平铺金字塔来说它很慢并且需要大量内存。 RAM dzsave速度更快,效率更高。在这台带有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步骤。