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 страницами - так же, как и ответ Курта.