





Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
fondamenti di informatica appunti lezioni
Tipologia: Appunti
Caricato il 18/06/2023
1 documento
1 / 9
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






L’informatica è la scienza che studia l’elaborazione delle informazioni
Immagini bitmap Tecnica di rappresentazione che denisce un’immagine come una griglia di quadrati detti pixel (picture element). Ogni pixel assume un valore medio del colore dell’area che occupa (secondo una qualche codica del colore). I pixel sono disposti in sequenza, ad esempio partendo dal basso verso l’alto e da sinistra verso destra. In realtà abbiamo una rappresentazione approssimata dell’immagine. La precisione dipende dal numero di pixel e dal numero dei colori che i pixel assumono (b/n, livelli di grigio, colore).
Immagini bitmap: immagine come griglia di pixel, più la griglia è grande più l’immagine è precisa la risoluzione di un'immagine raster è la densità di pixel, ovvero il numero di pixel per lunghezza unitaria e si misura in punti per centimetro o in punti per pollice RGB: 28 BIT per ogni colore, somma di colori primari fino al bianco (additivo) CMY: 28 BIT per ogni colore, somma di colori primari fino al nero (sottrattivo) GIF: Codifica GIF La codica GIF (Graphic Interchange Format) si basa su tre idee: LUT a 256 colori Run-length encoding Compressione LZW finale >è lossless Se partiamo da una immagine che ha già 256 colori possiamo considerarla lossless. Codifica JPEG La codica JPEG (Joint Photographic Experts Group) è di tipo lossy, tratta immagini a 16 milioni di colori e si basa su tre punti:
Rappresentazione dei dati multimediali: i calcolatori moderni possono elaborare informazioni complesse come immagini, video e suoni. i dati multimediali non sono di natura astratta, sono casi speciali di fenomeni fisici ondulatori che richiedono una digitalizzazione preliminare per poter essere elaborati. -digitalizzare significa convertire in formato numerico una grandezza fisica, che tipicamente varia con continuità. -campionare prendere misure del segnale a intervalli regolari -quantizzazione: rappresentare in forma numerica il campione, assegnandogli un numero di bit Immagini bitmap Tecnica di rappresentazione che denisce un’immagine come una griglia di quadrati detti pixel (picture element). Ogni pixel assume un valore medio del colore dell’area che occupa (secondo una qualche codica del colore). I pixel sono disposti in sequenza, ad esempio partendo dal basso verso l’alto e da sinistra verso destra. In realtà abbiamo una rappresentazione approssimata dell’immagine. La precisione dipende dal numero di pixel e dal numero dei colori che i pixel assumono (b/n, livelli di grigio, colore). Sono anche dette immagini raster o a matrice di punti. Maggiore è il numero di pixel dell’immagine, migliore è l’approssimazione dell’immagine e maggiore è l’occupazione di memoria. Attenzione: il numero di pixel va considerato per una lunghezza di riferimento prestabilita. Quindi la risoluzione di un'immagine raster è la densità di pixel, ovvero il numero di pixel per lunghezza unitaria e si misura in punti per centimetro o in punti per pollice (dpi, dot per inch). Riassumendo: la risoluzione di un immagine è proporzionale alla frequenza di campionamento, mentre i valori dei campioni sono i colori disponibili. Livelli di grigio Per rappresentare diverse sfumature, codichiamo il colore di un pixel con più bit: con 4 bit si rappresentano 16 livelli di grigio con 8 bit si rappresentano 256 livelli di grigio (standard). Immagini a colori Ogni pixel ha un colore, che è rappresentato secondo un modello del colore: RGB (Red, Green, Blue - rosso, verde, blu) : usato nei monitor a colori. CMY(ciano, magenta, giallo) : usato nelle stampanti a colori. HSB (hue, saturation, brightness) : usato nei tool di scelta colore o per editing (comodo per l'utente, attributi percettivi). Hue rappresenta la tinta, la saturazione è la quantità di bianco del colore e la brightness è la luminosità del colore. YUV (luminanza Y, crominanza UV) : usato nella TV e nella codica di immagini (JPEG) e video (MPEG). La Y rappresenta l'immagine a scale di grigi, mentre U e V assieme codicano il colore o crominanza. Un colore è determinato dalle sue componenti. Nel modello RGB un colore è identicato dai valori delle componenti di rosso, verde, blu , codicate con 8 bit ciascuna. Ogni componente (o colore primario ) ha un valore tra 0 e 255. In totale si usano 24 bit per pixel e si rappresentano 2 24 colori (circa 16,8 milioni di colori). Il modello RGB è un modello di colore additivo , ovvero un colore si ottiene sommando i colori primari (in proporzioni variabili) no ad ottenere il bianco ( RGB=(255, 255, 255) ). Il modello sico è la sovrapposizione (somma) di luce emessa di colore R, G e B. Nel modello CMY un colore è identicato dai valori dei colori primari ciano, magenta e giallo , codicati con 8 bit ciascuno (il ciano è un azzurro- turchese). Il modello CMY è un modello di colore sottrattivo , ovvero un colore si ottiene aggiungendo i colori primari (in tonalità variabili) no ad ottenere il nero ( CMY=(255, 255, 255) ). Il modello sico è la miscelazione di pigmenti (inchiostri) colorati in C, M, e Y, i quali assorbono (sottraggono) colore dalla luce bianca che illumina il pigmento. Per esempio il ciano ltra (elimina) il rosso dalla luce bianca. Quindi, depositando il colore ciano su un foglio bianco, la
luce riFessa dal foglio sarà priva del colore rosso. In modo analogo, il magenta e il giallo ltrano rispettivamente il verde e il blu. Se (r, g, b) è una tripla di numeri che rappresenta un colore nel modello RGB allora la codica dello stesso colore nel modello CMY è (255 - r, 255 - g, 255 – b). Analogamente il colore (c, m, y) nel modello CMY ha codica RGB (255 - c, 255 - m, 255 – y). Anche se in teoria il nero si rappresenta in CMY con (255,255,255), in realtà si ottiene un marrone scuro. L’aggiunta del nero come quarto colore risolve il problema. Il modello CMYK è una variazione del modello CMY: poiché nei modelli RGB e CMY una sfumatura del colore grigio si rappresenta con lo stesso valore dei tre colori primari, un colore (c, m, y) rappresentato nel modello CMY si rappresenta nel modello CMYK con la quadrupla (c-k, m-k, y-k, k) dove k è il minimo di c, m, y. Si usa il colore nero per diminuire l'uso di ciano, magenta, e giallo: si riduce il 8 consumo degli inchiostri colorati, aumentando quello dell'inchiostro nero. Un’immagine RGB occupa un’area di memoria espressa in byte dalla seguente espressione: 3 ×(n.pixelAltezza)×(n.pixelLarghezza) Il numero 3 va sostituito con 4 quando si aggiunga per ogni pixel un byte indicante la trasparenza del pixel (il cosidetto canale alfa , specica 256 gradi di trasparenza). E.g. un’immagine da 1024×768 pixel occupa più di 2 MB di memoria. Questo causa forti rallentamenti quando si scarichi l’immagine da Internet! Nota sulla rappresentazione esadecimale dei colori RGB/CMY I colori RGB e CMY sono rappresentabili da triple di numeri in notazione decimale o da un numero in notazione esadecimale con 6 cifre. Ad esempio, il codice esadecimale #AF583B rappresenta il colore AF 16 (rosso), 58 16 (verde), 3B 16 (blu). Convertendo in base 10 i tre numeri esadecimali si ottiene rosso = AF = 10.16 +15 = 175 (in decimale) verde = 58 = 5.16+8=88 (in decimale) blu = 3B = 3.16+11=59 (in decimale) Se le due cifre dei tre colori sono uguali, si può indicare il numero con solo 3 cifre invece di 6. Ad esempio, il colore #FF0033 viene spesso indicato come #F03. I toni di grigio hanno uguali valori di rosso, verde e blu: 5B5B5B è una tonalità di grigio. Avremo perciò 256 tonalità di grigio. Look-up table Un modo per ridurre i bit necessari per ogni pixel sfrutta l'idea della color Look-Up Table (LUT) : ogni pixel è rappresentato da 8 bit, i.e. da un valore intero compreso tra 0 e 255 che indica una posizione della LUT (di 256 posizioni) contenente il colore del pixel in formato RGB. (L’occupazione di memoria si riduce di 1/3 o 1/4). Quindi invece di 16,8 milioni di colori ne abbiamo solo 256 a disposizione, scelti tra le palette standard di colori, come i web-safe colors, o in modo ottimizzato per una specica immagine. Tipicamente questo numero di colori è suOciente per disegni o icone ma non per le fotograe. Si può ovviare a questo difetto usando tecniche come il dithering o la retinatura (halftone). Compressione dei dati Per ridurre drasticamente il numero di bit necessari per codicare dei dati si devono usare tecniche di compressione dei dati. Tecniche senza perdita o reversibili (lossless). Sono delle tecniche che trasformano il formato dei dati in un formato più compatto, occupando così meno memoria. Permettono di eliminare la ridondanza dei dati, consentendo di ricostruire le informazioni originali. Sono algoritmi generici, si applicano a qualunque tipo di dato (anche testi, basi di dati, etc.) e producono le di formato .zip, .rar, .7zip, etc. I metodi di compressione lossless più noti sono: Hu%mann: codica con un minor numero di bit i simboli più frequenti LZW: identica sequenze ricorrenti e le codica in una tabella Run-length: sostituisce una serie di occorrenze consecutive dello stesso simbolo con la coppia <simbolo, num. occorrenze> Vediamo come funziona la Run-length encoding : compattiamo una sequenza di bit in una nuova sequenza composta, ad esempio, da sequenze di 5 bit: uno codica il valore di un bit, quattro codicano il numero di ripetizioni. La sequenza 000000000111111000011000000011111111111111111 è codicata da 0, 9, 1, 6, 0, 4, 1, 2, 0, 7, 1, 15, 1, 2 che in binario diventa 01001101100010010010001111111110010 in certi casi, quando valori alterni occorrono frequentemente, la sequenza prodotta è più lunga dell'originale.
Consideriamo il problema di memorizzare un’immagine digitale e di dover scegliere il formato adatto: Formati raw : prodotto da una fotocamera digitale di fascia medio- alta, è un formato raster che rappresenta l'immagine così come viene rilevata dall'obbiettivo, senza elaborazione o compressione alcuna. Purtroppo, ogni produttore adotta un formato proprietario ed occorre un software specico per l'elaborazione delle immagini. Formato TIFF : progettato per lo scambio tra diverse piattaforme (unix, Win, Mac), è supportato da molte applicazioni di elaborazione di immagini (e.g. Photoshop) ed è uno standard industriale. Si può scegliere di salvare i le con modello del colore RGB e CMYK. Applicando una compressione lossless (LZW) si risparmia da 1/3 a 2/3 di occupazione di memoria del le originale. Questo formato è utile per memorizzare copie master delle immagini. Formato JPEG : ogni salvataggio in formato JPEG degrada la qualità dell’immagine. Il grado di compressione è molto più elevato rispetto alla compressione lossless, e può essere regolato (molte applicazioni o%rono questa possibilità). Spesso, immagini JPEG a basso grado di compressione (e grande occupazione di memoria) sono, una volta stampate, paragonabili a immagini TIFF. Grafica vettoriale Un'immagine può essere descritta da un insieme di gure geometriche come rettangoli, ellissi, linee, punti. Queste gure si possono codicare usando poca memoria: ad esempio, basta fornire gli estremi di un segmento di retta, il centro e il raggio di un cerchio, i due vertici opposti di un rettangolo. In altre parole, le forme sono rappresentate da sequenze di numeri (dette vettori ) e non da pixel. La dimensione di un le vettoriale dipende dal suo contenuto. Per loro natura, le immagini vettoriali si prestano bene a rappresentare immagini in cui non sia richiesto il fotorealismo come poster e loghi. 12 Soprattutto, un'immagine in formato vettoriale può essere ingrandita arbitrariamente, senza sgranature, o rimpicciolita senza perdita di informazioni (in e%etti non è proprio così: ingrandendo troppo l'immagine questa può apparire sgranata perché si è superata la risoluzione del monitor che è una matrice di pixel). Un'immagine vettoriale può anche essere modicata selettivamente, poiché le entità grache che la compongono sono codicate separatamente (es. rimuovi quel cerchio o ricoloralo). I le in formato PICT, AI (Adobe Illustrator) PostScript, SVG sono vettoriali. Anche un le PDF può contenere dati in forma vettoriale. Esempio: il formato SVG SVG è l'abbreviazione di Scalable Vector Graphics. È un formato graco vettoriale per il web nel quale le forme geometriche sono specicate in XML (vedremo in seguito). Molti browser
interpretano SVG direttamente, quindi è possibile inserire immagini SVG nelle pagine web, come l'immagine qui riportata specicata dal seguente codice: Formati di immagini per il web Un browser moderno è in grado di visualizzare senza l'uso di plugin (programmi ausiliari che aggiungono funzionalità) le immagini in formato GIF, JPEG, PNG (Portable Network Graphics), WebP ed anche il formato vettoriale SVG. Nel web un parametro importantissimo è la dimensione delle 13 immagini: è bene che non siano superiori a qualche centinaio di KB per non rallentare troppo il caricamento di una pagina. I diversi formati usano strategie diverse per raggiungere questo obbiettivo. Per quanto riguarda i formati graci per il web si suggerisce di consultare gli appunti sulla graca per il web del corso "Fundamentals of website