Immagini Digitali (parte 2)
Immagini a Colori Le immagini a colori sono internamente rappresentate a partire da un modello additivo di generazione dei colori Il modello base è quello in tricromia: rosso,verde e blu (RGB) I colori vengono ottenuti sovrapponendo colori base con intensità variabile
Colore: Sensibilità dei Coni
Modello additivo di Immagini a colori J.C. Maxwell Compone un triangolo dei colori basato sulla teoria di Young–Helmholtz (1802) La teoria postulava l’esistenza di 3 specie di recettori sulla retina La triplice stimolazione produce la percezione di un colore E’ possibile che due stimolazioni differenti producano la stessa percezione (metamerismo) 1861
Immagini a Colori Emiro di Bukhara – Foto di Sergey Prokudin-Gorsky (1911)
Digitalizzazione Immagini a colori Immagini a colori hanno un photosite per ognuna delle 3 componenti cromatiche RGB quindi ogni elemento di immagine (PIXEL) è rappresentato da una terna di numeri Se la bit-depth per ciascun canale è di 8 bit allora ogni elemento è rappresentato da 24 bit
Immagini a Colori Le coordinate R,G,B rappresentano l'intensità di una componente tra 0 e la saturazione del sistema Di solito la coordinata [0,1] Immagini grezze usano il valore nativo così come generato dalla fotocamera Non tutti I colori distinguibili dall'occhio umano possono essere rappresentati dal modello RGB
CIE 1931 color space
Immagini a Colori RGB può essere trasformato in sistemi di coordinate alternativi HSV (HSB): Hue, Saturation, Value (Brightness) HSL: Hue, Saturation, Luminosity Hanno ragioni simili e permettono di separare la funzione delle coordinate Una coordinata di luminosità Due coordinate di cromaticità
Modello colori sottrattivo CMYK (Cyan, Magenta, Yellow, blacK) Colori ottenuti per soppressione di componenti da una sorgente bianca Usato nella tecnologia delle stampe
Piccolo Laboratorio dei Colori http://www.michaelbach.de/ot/col_mix/index.html
Tipi di Immagini Grayscale image: una singola parola di 2k valori rappresenta l'intensità di grigio con 0 che rappresenta il nero e 2k – 1 il bianco K=8 è comune per fotocamere a basso costo In medicina ed astronomia sono comuni fotocamere con profondità k=12 o 16
Pixel Values
Come le immagini sono archiviate Formati di Immagini Come le immagini sono archiviate
Data storage and transmission Problema Scrivere i dati su memoria o comunicare i dati tramite canale di trasmissione (rete) Rileggere i dati e ricostruire l'immagine per Visualizzazione Analisi
Formati di Immagini Obiettivo dei diversi formati Interscambio Differenti applicativi Differenti sistemi operativi Differenti architetture hardware (endianness) Storaggio Archiviazione Estensibilità Compatibilità Diffusione Internet Metadati, informazioni accessorie
Formati Classi di formati per immagini Raster images: immagini rappresentate come matrici di bit. Contengono trasformazioni e rielaborazioni dei dati originari Vector Graphics: immagini rappresentate attraverso la descrizioni di oggetti geometrici. Permettono di essere modificate soprattutto in scala mantenendo risoluzione e resa grafica una volta rigenerati come matrice di pixel: caso popolare SVG (Scalable Vector Graphics)
Formato ASCII Soluzione elementare: Dump ASCII della matrice di pixel Immagini anche di media dimensione avrebbero file di grandi dimensioni Inefficienza delle applicazioni nella lettura / scrittura (encoding/decoding delle stringhe) Lenta trasmissione e consumo inutile di potenzialità trasmissiva → Percorribile solo per immagini di piccole dimensioni
Portable Bitmap Format (PBM) Semplice formato ASCII che quindi può essere manipolato anche con un editor
Formati di Immagini Rappresentazione ed ottimizzazione binarie Compressione Rappresentazioni dei numeri dipendenti dall'architettura dell'hardware Endianness: numeri espressi su più byte (come quasi sempre è il caso) possono in realtà essere memorizzati con un ordine dei byte diverso su diverse architetture hardware
Data Storage and Transimission: ASCII code
Data storage and Transmission Scrivere la matrice in forma binaria all'interno di un file Quante righe e colonne di pixel aveva l'immagine? Quale byte ordering (endianness) viene usata? Che metodo di compressione è stato usato? Etc etc
Data Storage and Transmission: Endianness
Compressione Dati Riduzione della ridondanza dei dati Tecnologie basate su diversi metodi matematici, sull'inferenza statistica e tecniche informatiche Rapporto di Compressione = N / n Risparmio di Spazio = 1 – n / N Un insieme di informazioni codificate in N bit può essere rappresentato in un numero inferiore n di bit con rapporto di compressione che dipendono dalla struttura dei dati e dal metodo di compressione
Compressione Dati 2 categorie generali di algoritmi di compressione dati Lossless: algoritmi di compressione senza perdita di informazione. Riducono la ridondanza permettendo di ricostruire esattamente i dati originari. Indispensabili per compressione di archivi software Lossy: algoritmi di compressione con perdita di informazione. Permettono di ricostruire l'essenza dell'informazione originaria, ma non i dati originari usati quando il 'consumatore' è un sistema a minore capacità di discriminazione
TIFF: Tagged Image File Format Supporta formati multipli e diversi metodi di compressione Ogni file può contenere rappresentazioni multiple della stessa informazione Usato per archiviazione e scambio tra piattaforme e applicazioni differenti Ogni file può avere dimensioni considerevoli: inadatto per costruire pagine web
TIFF: Tagged Image File Format
TIFF: Tagged Image File Format Baseline TIFF Multiple subfiles Strips and Tiles Compressione Nessuna compressione Altri 2 metodi standard PackBits compression CCITT Group 3 1-Dimensional Modified Huffman RLE Formati: bilevel, grayscale, palette-color, and RGB full-color images
TIFF: Tagged Image File Format Tag privati Tag con codice numerico >= 32768 (100016) sono tag definiti da applicazioni specifiche Consorzi Progetti sperimentali Programmatori privati
GIF: Graphics Interchange Format Formato proprietario (Compuserve, 1986) Supporto per immagini “indexed” La pixmap è costituita da indici all'interno di una tavolozza memorizzata nell'header Supporto per bit-depth massima di 8 bit Supporto per bit di trasparenza Compressione LZW (Lempel-Ziv-Welch) Possibilità di creare singole semplici animazioni Capacità di compattare lo spazio dei colori per immagini con pochi colori (e.g. icone)
PNG: Portable Network Graphics Pronunciato in inglese 'PING' Formato aperto pensato per Internet Truecolor (fino a 48 bit/pixel) Grayscale (fino a 16 bit/pixel) Indexed (fino a 256 colori) Alpha Channel 8 bit Capacità teorica fino a 230x230 pixel Compressione lossless basata su PKZIP
PNG: Portable Network Graphics
JPEG (Joint Photographic Experts Group) Creato nel 1990, diventato un standard ISO Design modulare Adattabile a diversi tipi di immagine Compressione 'lossy' perché pensato per immagini fotografiche il cui 'consumatore' è il nostro sistema percettivo
JPEG (Joint Photographic Experts Group) Caso di manipolazione di immagini RGB Trasformazione da RGB a YCbCr dove Y rappresenta la luminosità mentre Cb e Cr sono la componente cromatica (detta anche croma) Compressione con algoritmo 'lossy' con rapporti di compressione differenziati tra croma e luminosità Trasformata cos e quantizzazione nello spazio delle frequenze Ulteriore compressione lossless
JPEG: RGB -> YCbCr Sfrutta la trasformazione dallo spazio RGB allo spazio YCbCr La componente Y è un valore standard per la luminosità Esiste la trasformazione inversa L'occhio umano è più sensibile alle variazioni di luminosità che di colore
JPEG (Joint Photographic Experts Group)
JPEG (Joint Photographic Experts Group)
JPEG (Joint Photographic Experts Group) Inadatto per memorizzare su file immagini con molte curve o linee dal contorno netto.
Windows® Bitmap (BMP) Ancora usato in ambiente Windows Può memorizzare immagini grayscale, indexed e RGB Inefficiente perché invariabilmente usa un byte per ogni pixel Supporto basilare per la compressione 'lossless'
Formati di Immagine
Best Graphic Format