O comando mogrify
corta a imagem para um tamanho fixo. Também remove qualquer compressão presente na imagem, principalmente para evitar a recompressão de imagens JPEG e perder a qualidade da imagem. Isso também garante que o TIFF resultante seja totalmente compatível com o formato de linha de base .
O resultado é que você obterá arquivos de tamanho muito semelhante para cada uma das suas verificações:
x_pixels * y_pixels * bytes_per_pixel
No seu caso x_pixels = 1600, y_pixels = 2512 e bytes_per_pixel = 1 porque você especificou uma paleta de cores fixa. Permitindo metadados e o mapa de paleta, os tamanhos de arquivo resultantes serão um pouco maiores que 4.019.200 bytes:
-rw-r--r--+ 1 roaima users 4225562 Dec 30 16:28 IMG_0003.tif # Original
-rw-r--r--+ 1 roaima users 4022354 Jan 5 09:55 IMG_0003.tif # Mogrified
Você pode ver que os metadados e a paleta levam 203.208 bytes adicionais acima do tamanho mínimo teórico.
Agora, há um número de extensões no formato TIFF, um dos quais permite uma número de diferentes tipos de compressão. Esses tipos de compactação podem ser aplicados com o -compress {type}
flag para mogrify
. Alguns desses tipos de compactação são com perdas, outros são sem perdas. Aqui estão alguns tamanhos comparativos para as opções sem perdas:
-rw-r--r--+ 1 roaima users 4022354 Jan 5 10:02 IMG_0003.tif # None
-rw-r--r--+ 1 roaima users 4022354 Jan 5 10:02 IMG_0003.tif # BZip
-rw-r--r--+ 1 roaima users 446952 Jan 5 10:02 IMG_0003.tif # LZW
-rw-r--r--+ 1 roaima users 594040 Jan 5 10:02 IMG_0003.tif # RLE
-rw-r--r--+ 1 roaima users 429692 Jan 5 10:02 IMG_0003.tif # Zip
-rw-r--r--+ 1 roaima users 478622 Jan 5 10:02 IMG_0003.tif # LZMA
Inesperadamente, a compactação BZip parece falhar - pelo menos no meu sistema -, mas não consegui encontrar nenhuma outra instância disso relatada por meio de meu mecanismo de pesquisa preferido.
O resultado líquido é que, se você modificar um pouco o comando mogrify
, obterá arquivos TIFF sem perdas em um tamanho bastante reduzido:
mogrify -gravity North -crop 1600x2512+0+0 -type Palette \
-define tiff:rows-per-strip=16 -define tiff:subfiletype=PAGE -compress Zip *.tif