Trattamento Immagini (parte 2) L1-2 35
Digitalizzazione di un'immagine Quantizzazione La carica di ogni photosite viene misurata e ad essa associato un numero in forma binaria La bit depth è numero di bit M che corrisponde 2M intervalli LSB: Least Significant Bit
Digitalizzazione La conversione digitale di ogni elemento d'immagine produce in ultima istanza un valore binario di M bit Questo valore rappresenta un numero intero espresso esclusivamente con cifre 0 oppure 1 I numeri binari sono rappresentazione dei numeri con il sistema posizionale usando 2 come base Esempio di numero a 4 bit 01102=(0x23+1x22+1x21+0x20)10= 610
Digitalizzazione Immagini 'grayscale' Ogni PIXEL (PI[X](cture) EL(element)) viene rappresentato da una parola binaria di M bit. Il significato di questo registro binario è quella di intensità luminosa sul photosite Il valore 0 significa assenza di luce Il valore 2M-1 significa saturazione del photosite
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
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
Sistema di Coordinate
Rappresentazione Digitalizzata
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
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
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 immagazzinamento 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) 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