3

我在一个目录 c:\temp 中有 600 个 TIFF 文件。

文件名如下:

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/ mogrifycommand 或任何其他命令/工具来执行此操作的任何单个命令行 /batch-file。

请注意,总时间不应超过 5 秒。

4

2 回答 2

4

假设您要将 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 像素?,它们是彩色还是灰度?,etc.pp。)

这与马克的回答不同,因为他似乎假设您想将输入文件全部组合成一个 1 页图像,其中原件平铺在更大的页面上......

于 2015-06-03T13:49:15.963 回答
1

应该这样做 - 如果您实际上没有得到您建议的所有图像,我会让您进行错误检查!

@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改为-appendthenmerged_001.tif将是这样的:

在此处输入图像描述

如果您+append完全删除,您将获得 200 个多页 TIF,每页 3 页 - 与 Kurt 的回答相同。

于 2015-06-03T13:00:46.350 回答