使用VIPS命令行将图像切割成图块

Nic*_*thy 2 imagemagick image-processing

我有一个很大的Tiff图像,我想切成512x512磁贴并写入磁盘.

在过去,我像这样使用ImageMagick:

convert -crop 512x512 +repage image_in.tif image_out_%d.tif
Run Code Online (Sandbox Code Playgroud)

但是最近这个没有用,内存耗尽的进程等等.

VIPS中是否有类似的命令?我知道有一个CLI,但我在文档中找不到示例或有用的解释,我仍然试图弄清楚nip2 GUI的事情.任何帮助赞赏.:)

jcu*_*itt 6

libvips有一个操作员,可以很快地为您完成此操作.尝试:

$ vips dzsave wtc.tif outdir --depth one --tile-size 512 --overlap 0 --suffix .tif
Run Code Online (Sandbox Code Playgroud)

这是DeepZoom编写者制作tif瓷砖的深度1金字塔.查看outdir_files/0输出图块.文档中有一讨论如何使用dzsave.

对我来说它比IM要快得多:

$ time convert -crop 512x512 +repage huge.tif x/image_out_%d.tif
real    0m5.623s
user    0m2.060s
sys     0m2.148s
$ time vips dzsave huge.tif x --depth 1 --tile-size 512 --overlap 0 --suffix .tif
real    0m1.643s
user    0m1.668s
sys     0m1.000s
Run Code Online (Sandbox Code Playgroud)

huge.tif10,000×10,000像素无压缩RGB图像在哪里.此外,它只会在少量内存中处理任何大小的图像.