Página 1 de 1

Reducir tamaño de archivo Tiff

NotaPublicado: 2019-01-16 19:49 @867
por piero66
Hola, buenos días.

Tengo varios archivos tiff y quiero ver si hay alguna biblioteca que me ayude a reducir el tamaño del mismo sin perder la calidad.

Comentan de este:

use Image::Magick;

pero no sé si servirá para esto.

Saludos.

Re: Reducir tamaño de archivo Tiff

NotaPublicado: 2019-01-16 20:08 @881
por piero66
Ejecuté

convert image_original.tif -compress lzw image_comprimida.tif

Y mi archivo original era de 1.4 MB, la nueva quedó en 1.6 MB.

¿Me faltará algo?

Re: Reducir tamaño de archivo Tiff

NotaPublicado: 2019-01-17 07:29 @353
por explorer
Según el formato Tiff... la única manera de reducir el tamaño del archivo sin perder calidad es grabando la imagen con compresión LZW.

Desde la línea de comandos puedes ejecutar el comando convert (instalado por el paquete ImageMagick) y pedirle que haga ese proceso. Sería algo así (no probado):

convert image_original.tif -compress lzw image_comprimida.tif

Si esto te funciona, y lo quieres automatizar, puedes usar convert dentro de un script bash. O usar Image::Magick desde Perl.

$x = $image->Write(filename=>'image_comprimida.tif', compression=>'LZW');

La documentación de PerlMagick está en http://www.imagemagick.org/script/perl-magick.php

Si no puedes reducir, o se crea un archivo más grande, eso puede indicar que el archivo ya estaba comprimido.

La única solución para hacerlo más pequeño es reduciendo el tamaño de la imagen o reduciendo la calidad.

Si tu problema es la transmisión de la imagen, siempre se puede dividir el archivo en archivos más pequeños, y recomponerlos en destino.

Re: Reducir tamaño de archivo Tiff

NotaPublicado: 2019-01-18 12:40 @569
por piero66
Hola, explorer.

Ejecuto el comando

convert D42-6002.tif -compress lzw D42-6002_new.tif

pero me da este error:

convert: no decode delegate for this image format `TIF' @ error/constitute.c/ReadImage/556.
convert: no images defined `D42-6002_new.tif' @ error/convert.c/ConvertImageCommand/3300.


Luego creo un script:

#!/usr/bin/perl
use Image::Magick;

$x = Image::Magick->new;
$x->Read('D42-6002.tif');
$x->set(compress=>'LZN');
$x->Write('D42-6002new.tif');

No me marca error, pero no me genera nada. El script está en la mismo ruta del archivo a comprimir.

¿Sabes qué me estará faltando?

Saludos.

Re: Reducir tamaño de archivo Tiff

NotaPublicado: 2019-01-22 08:14 @384
por explorer
El mensaje de error dice que no sabe leer un archivo Tiff.

¿Tienes instalada la biblioteca libtiff?

En el código Perl estás indicando 'LZN', que no sé qué método es.