Сшивка плиток TIF в большое изображение
У меня есть список из 25 изображений TIF (фрагментов карты), каждое размером около 400 МБ (здесь каждый маленький прямоугольник):
Мне нужно сшить их в один огромный TIF. Есть ли в Linux команда, которая может это сделать? Я могу предоставить абсолютные координаты X/Y для каждой плитки.
Я попробовал это сmontage
(часть Imagemagick), но, похоже, она поддерживает только наборы плиток, в которых каждая строка/столбец имеет одинаковое количество плиток.
1 ответ
Есть ли в Linux команда, которая может это сделать?
Лично мне не известна ни одна команда, позволяющая делать то, что вы хотите.
Я попробовал это с помощью команды монтажа (часть Imagemagick), но, похоже, она поддерживает только наборы плиток, в которых каждая строка/столбец имеет одинаковое количество плиток.
Я не знаю, подойдет ли это вам, но вы могли бы (теоретически) заранее сгенерировать недостающие изображения, а затем просто включить их в команду.
Для вашего примера изображения, если у вас есть, например,slice_1_1.tif
кslice_1_6.tif
для первого ряда,slice_2_1.tif
к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