
У меня есть список из 25 изображений TIF (фрагментов карты), каждое размером около 400 МБ (каждый маленький прямоугольник здесь):
Мне нужно сшить их в один большой TIF. Есть ли команда под Linux, которая может это сделать? Я могу предоставить абсолютные координаты X/Y для каждой плитки.
Я попробовал сделать это с помощью montage
команды (часть Imagemagick), но, похоже, она поддерживает только наборы плиток, в которых каждая строка/столбец имеет одинаковое количество плиток.
решение1
Есть ли команда в Linux, которая может это сделать?
Лично я не знаю ни одной команды, которая бы делала то, что вы хотите.
Я попробовал сделать это с помощью команды montage (часть Imagemagick), но, похоже, она поддерживает только наборы плиток, в которых каждая строка/столбец имеет одинаковое количество плиток.
Я не знаю, подойдет ли это вам, но вы могли бы (теоретически) заранее сгенерировать недостающие изображения, а затем просто включить их в команду montage
.
Для вашего примера изображения, предположим, что у вас есть, например, slice_1_1.tif
to slice_1_6.tif
для первой строки, slice_2_1.tif
to slice_2_6.tif
для второй строки и т. д.,вы можете создавать «пустые» изображениячто-то вроде следующего:
magick -size 120x85 canvas:white slice_1_1.tif
magick -size 70x85 canvas:white slice_1_6.tif
magick -size 70x85 canvas:white slice_2_6.tif
magick -size 120x85 canvas:white slice_5_5.tif
magick -size 70x85 canvas:white slice_5_6.tif
Конечно, вам нужно будет использовать правильные размеры для ваших реальных изображений. Затем вы можете запустить montage
как обычно:
magick montage *.tif -tile 6x5 -geometry +0+0 example.tif
что даст вам что-то вроде:
Если предположить, что нет никаких других соображений, то, я думаю, самой сложной частью здесь (потенциально) будет автоматизация генерации «отсутствующих» изображений (если вам по какой-то причине это необходимо).
Ссылки ImageMagick