ImageMagick:如何将多个TIFF文件批量组合到目录中的单个TIFF文件?

ImageMagick:如何将多个TIFF文件批量组合到目录中的单个TIFF文件?,imagemagick,batch-processing,tiff,imagemagick-convert,mogrify,Imagemagick,Batch Processing,Tiff,Imagemagick Convert,Mogrify,我在目录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 我正在通过ImageMagickconvert/mogrif

我在目录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
/
mogrify
命令或任何其他命令/工具查找任何单个命令行/批处理文件


请注意,所花费的总时间不应超过5秒。

这应该可以做到-我将让您进行错误检查,以防您没有实际获得您建议的所有图像

@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
,则
合并\u 001.tif
如下:


如果您总共删除
+append
,您将得到200个多页TIF,每个TIF有3页-与Kurt的答案相同。

假设您想将600个单页TIF组合成一个多页TIF(每组3页),它非常简单:

 convert  001_*.tiff  1_merged.tiff
 convert  002_*.tiff  2_merged.tiff
 [....]
 convert  200_*.tiff  200_merged.tiff
请注意,没有人能够保证任何时间/性能基准。。。我们甚至不知道你的输入TIFF是如何构成的。(它们是10000x1000像素还是20x20像素?它们是彩色还是灰度?等等)


这与Mark的回答不同,因为他似乎假设您希望将所有输入文件组合成一张一页的图像,其中原始文件平铺在一张更大的页面上……

它们应该如何组合-在彼此的顶部、上面和下面,还是旁边?所需时间将取决于输入图像的大小和数量以及您使用的硬件。感谢Mark的反馈。感谢Mark。它的工作方式略有不同-adjoin而不是-append以获得多页tif图像。但处理过程需要约30秒。我在Windows 7上进行了测试-Intel(R)core(TM)i3 CPU 550@3.20 GHZ,Ram 4 GB。我的文件大小是..1.tf->~270 KB,..2.tf->~16 KB,..3.tif->10 KB。是否有任何解决方法可以在5-10秒内实现这一点?非常感谢您的反馈。您可以尝试在
convert
前面预先挂起
start/b
,以便200个
convert
进程并行运行-但不确定windows将如何处理此问题-最初可能尝试4个并行转换。或者可以在
开始
结束
编号的脚本中添加一个参数,然后用
1-50
运行一个参数,用
51-100
运行第二个参数,以此类推,所有4个参数并行运行。