ImageMagick: как пакетно объединить несколько файлов TIFF в один файл TIFF в каталоге?

У меня есть 600 файлов TIFF в каталоге, c:\temp.

Имена файлов похожи на:

001_1.tif,
001_2.tif,
001_3.tif

002_1.tif,
002_2.tif,
002_3.tif
....
....
200_1.tif,
200_2.tif,
200_3.tif

Объединенные файлы должны быть помещены в один и тот же каталог, а файлы должны иметь следующие имена:

1_merged.tif
2_merged.tif
.....
.....
200_merged.tif

Я ищу любую отдельную командную строку / пакетный файл, чтобы сделать это через ImageMagick convert/ mogrify команда или любая другая команда / инструменты.

Обратите внимание, что общее время не должно превышать 5 секунд.

2 ответа

Предполагая, что вы хотите объединить 600 одностраничных TIFF в один многостраничный TIFF (на набор из 3), это так просто:

 convert  001_*.tiff  1_merged.tiff
 convert  002_*.tiff  2_merged.tiff
 [....]
 convert  200_*.tiff  200_merged.tiff

Пожалуйста, обратите внимание, что никто не сможет гарантировать какие-либо критерии синхронизации / производительности... хотя бы пока мы даже не знаем, как именно составлены ваши входные TIFF. (Это 10000x10000 пикселей или 20x20 пикселей? Они цветные или в оттенках серого?, и т. Д.)

Это отличается от ответа Марка, потому что он, похоже, предположил, что вы хотите объединить все входные файлы в одностраничное изображение, где оригиналы выложены на большую страницу...

Это должно сделать это - я оставлю вас на проверку ошибок, если вы на самом деле не получили все изображения, которые вы предлагаете!

@ECHO OFF
setlocal EnableDelayedExpansion
FOR /L %%A IN (1,1,200) DO (
   set "formattedValue=000000%%A"
   set "x=!formattedValue:~-3!"
   convert !x!_*.tif +append !x!_merged.tif
   echo !x!
)

Итак, если ваши изображения выглядят так

001_1.tif

001_2.tif

001_3.tif

вы получите это в merged_001.tif

Если вы измените +append в -append затем merged_001.tif будет так:

Если вы удалите +append В общей сложности вы получите 200 многостраничных TIF с 3 страницами - так же, как и ответ Курта.

Другие вопросы по тегам