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

发布于 2024-10-11 05:15:18 字数 172 浏览 6 评论 0原文

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

提前致谢。

I need to slice an image (size: 14043 × 9933) into 256 x 256 set of tiles with different zoom levels (number of tiles) in the most efficient way. I've been using gdal2tiles.py(it comes with GDAL), but I wonder if there's other options out there, maybe Geotools have this functionality? or any other alternatives (I don't need and and geo-referencing to the tiles).

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

捂风挽笑 2024-10-18 05:15:18

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 步骤。

gdal2tiles is a nice thing and can do many projections, but it's slow for simple raster tile pyramids and needs a lot of memory. dzsave is faster and more efficient with RAM. On this laptop with a 25k x 25k RGB JPG file I see:

$ 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

But with dzsave I see:

$ time vips dzsave ../wac_nearside.jpg y --suffix .png
real    0m36.097s
user    1m39.900s
sys 0m6.960s
peak memory 100mb

It would be faster still, but almost all the time is being spent in PNG write. If I drop back to the default JPEG tiles I see:

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

More than 20x faster than gdal2tiles.

dzsave can also do the centring for you automatically, so there's no need for the extra gdal_translate step.

呆° 2024-10-18 05:15:18

试试这个帖子:

将图像分割成图块

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文