ImageMagick обрезать огромное изображение

Я пытаюсь создать плитку из огромного изображения, скажем, 40000x40000

i нашел сценарий для imagemagick, он обрезает плитки. он отлично работает на небольших изображениях, таких как, скажем, 10000x5000

раз я получу больше, то в конечном итоге использует много памяти, и компьютер умирает.

Я добавил предельные параметры, но они не влияют на результат

У меня есть монитор, но это не помогает, так как скрипт просто тормозит и блокирует машину

Кажется, что он просто сгорбился, как 50-гигабайт диска подкачки, а затем убил машин

Я думаю, что проблема в том, что, обрезая каждую плитку, она сохраняет их в памяти. Я думаю, что мне нужно, чтобы она записывала каждую плитку на диск при ее создании, а не сохраняла их все в памяти.

пока сценарий есть

<code> #!/bin/bash
 file=$1
 function tile() {
 convert -monitor -limit memory 2GiB -limit map 2GiB -limit area 2GB $file -scale ${s}%x -crop 256x256 \
 -set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" \
 +repage +adjoin "${file%.*}_${s}_%[filename:tile].png"
 }
 s=100
 tile
 s=50
 tile
</code>

Ответы на вопрос(4)

Ваш ответ на вопрос