SIC is a simple image compression tool, designed originally for a University exam. It's aim is to compress lossy an image, save it in some custom format and "rebuild" it.
Actually, the image can read and write three types of image:
The project has been written in C++, to increase the speed efficiency. It has been developed in Linux 2.6.24-19, with the GCC family C++ compiler, nevertheless there should not be a problem compiling it in other platforms.
This is a command line program, so it's quite hard define these as "screenshots", anyhow, screenshots is a high impact word... :)
Project compilation:
$ make [CC] obj/main [CC] obj/image [CC] obj/exceptions [CC] obj/generalException [CC] obj/utils [CC] obj/dct [CC] obj/pixel [CC] obj/quantization [CC] obj/compression [LD] progetto $
Generating documentation:
$ make documentation Cleaning old doc dir... Building new documentation... Done! $
RAW image compression:
$ ./progetto -it raw -bpp 3 -w 400 -h 300 -q 90 -bs 8 img/F1-400x300RGB.raw output.sci Caricamento del file in corso... completato! Si sta per comprimere l'immagine, ecco un riassunto dei parametri: (si ricorda che, se non sono stati specificati, verranno usati i valori di default: 8 per la dimensione del blocco e 85 per il fattore di compressione) - dimensione del blocco: 8 - qualita` finale: 90 Compressione in corso... completata! $
Project verbose help:
$ ./progetto --help
Uso: ./progetto [OPTION] [INPUT] [OUTPUT]
Versione 1.0.0
Anno accademico 2007/2008
Progetto per il corso di Elaborazione delle Immagini (Universita` di Padova)
- Andrea Burattin
Elenco delle opzioni:
-bpp BPP, --bytes-per-pixel BPP se l'immagine da leggere e` RAW, ne
imposta il numero di bytes per pixel
(attualmente gli unici valori leciti
sono 1 o 3)
-bs SIZE, --block-size SIZE in fase di compressione, imposta la
dimensione del blocco di quantizzazione
-h HEIGHT, --height HEIGHT se l'immagine da leggere e` RAW, ne
specifica l'altezza
--help mostra questo menu, ed esce
-it TYPE, --input-type TYPE il tipo dell'immagine di input (puo` essere
tga, raw o sci)
-ot TYPE, --output-type TYPE tipo dell'immagine di output (puo` essere
tga, raw o sci)
-q QUALITY, --quality QUALITY in fase di compressione imposta la qualita`
che si desidera avere in compressione (i
valori devono essere compresi fra 1 e 99,
dove 1 indica bassa qualita` ma massima
riduzione dello spazio)
--version mostra informazioni sulla versione del
programma, ed esce
-w WIDTH, --width WIDTH se l'immagine da leggere e` RAW, ne
specifica la larghezza
Nel caso in cui il fattore di compressione non sia specificato, verra` usato il
valore di default, impostato a 85. Se la dimensione del blocco non e`
specificata, verra` usato il valore di default, impostato a 8.
Formati supportati:
Input: - TGA
- SCI (Simply compressed image, il formato definito per il progetto)
- RAW
Output: - TGA
- SCI
- RAW
Esempio di funzionamento:
Per comprimere una immagine RAW:
./progetto -it raw -w 400 -h 300 -bs 8 -q 85 image.raw compressed.sci
Per decomprimenre una immagine SCI:
./progetto compressed.sci image.tga
$
“ He who would trade liberty for some temporary security, deserves neither liberty nor security. — Benjamin Franklin