Para mesclar os TIFFs, você pode usar tiffcp . Por exemplo, você pode escrever um loop simples em Perl
:
for ($i= 1; $i<= 100; $i+=2) {
$j = $i + 1;
system("tiffcp sample$i.TIFF sample$j.TIFF sample$i\_$j.TIFF");
}
Atualização:
Se não houver uma sequência nos arquivos TIFF, ou seja, no lugar de sample1.tif, sample2.tif, você terá abc.tiff, def.tiff..ands on e você precisará mesclar primeiro 2 tiff na pasta como por timestamp, então você pode fazer o seguinte:
Classifique os arquivos TIFF por timestamp usando ls -lt
e, em seguida, extraia os nomes de arquivos TIFF da saída. Você pode fazer isso usando awk
(veja abaixo) ou se tiver acesso a vim
, então você pode usar Ctrl-v
para remover as colunas indesejadas de cada linha da saída.
ls -lt | awk '$9 ~ "TIFF$" { print $9 } ' > sorted_TIFFs.list
Quando tiver a lista de arquivos TIFF classificados, você poderá percorrê-los e executar tiffcp
usando um simples script Perl
. Este script pega o sorted_TIFFs.list
que você gerou na etapa anterior como entrada da linha de comando.
#!/bin/perl
$file=$ARGV[0];
open FILE, $file || die "Invalid filename";
while ($line=<FILE>) {
chomp($line);
$file1 = $line;
if ($line = <FILE>)
{
chomp ($line);
$file2 = $line;
$prefix= $file1;
$prefix =~ s/\.TIFF//; #to avoid a.TIFF_b.TIFF
system("tiffcp $file1 $file2 $prefix\_$file2\n");
} else {
print "No matching TIFF file, odd number of total files.\n";
exit;
}
}