Elaborazione delle immagini

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elaborazione delle immagini"

Transcript

1 POLITECNICO DI BARI FACOLTA DI INGEGNERIA INGEGNERIA EDILE ARCHITETTURA A.A INFORMATICA GRAFICA Ing. Gianluca GIORDANO Elaborazione delle immagini Informatica Grafica A.A Autore: Ing. Gianluca Giordano COPIA CONTROLLATA Vietata la riproduzione parziale o totale delle informazioni

2 Sommario 1. FORMATI GRAFICI DI USO COMUNE E TECNICHE DI COMPRESSIONE Reversibilità e ibernazione Fedeltà assoluta e fedeltà relativa L'efficienza del coefficiente di compressione I principali algoritmi di compressione L'algoritmo RLE (Run Lenght Encoding) L'algoritmo Huffman L'algoritmo LZW (Lempel-Ziv-Welch) Il formato grafico GIF e la perdita di informazioni sui colori Il formato JPEG CODIFICA DEI COLORI IMMAGINI RASTER ED IMMAGINI VETTORIALI OPERAZIONI SULLE IMMAGINI OPERAZIONI PUNTUALI OPERAZIONI ALGEBRICHE OPERAZIONI GEOMETRICHE Operazioni locali Algoritmi e primitive per la grafica raster bidimensionale Scan Conversion dei segmenti L'algoritmo DDA L'algoritmo di Bresenham Scan Conversion del cerchio Scan Conversion dei poligoni Flood fill Algoritmo Scan-lineAlgoritmo Scan-line Clipping dei segmenti lineari Algoritmo di Cohen-Sutherland Algoritmo di Liang-Barsky Clipping dei poligoni Algoritmo di Sutherland-Hodgman Antialiasing Tecniche di clipping tridimensionale VIEWING E CLIPPING IN TRE DIMENSIONI Trasformazioni di viewing Viewing API Proiezioni semplici Proiezioni prospettiche Proiezioni ortogonali Proiezioni in OpenGL Matrici di proiezione parallela Proiezioni ortogonali Proiezioni oblique Clipping in tre dimensioni...54

3 1. FORMATI GRAFICI DI USO COMUNE E TECNICHE DI COMPRESSIONE La riproduzione di immagini fotografiche su computer avviene suddividendo l'immagine stessa in un "canovaccio" di puntini colorati (detti pixels). I formati basati su tale tecnica vengono detti formati bitmap (mappa di bit) o raster. La qualità dell'immagine riprodotta è tanto migliore quanto più è alto il numero di pixel utilizzati per riprodurla e quanto più è alto il numero di colori che può assumere ciascun pixel. E' possibile visualizzare fotografie a schermo pieno con risoluzioni di 640 pixels in orizzontale x 480 pixels in verticale, a 256 colori. Utilizzare pixels di 256 colori è il minimo per riprodurre una fotografia sul video del Pc con qualità accettabile. Per riproduzioni professionali vengono utilizzati 16 milioni di colori. Ovviamente migliore è la risoluzione e la profondità di colore della fotografia e più alto sarà lo spazio occupato sul supporto di memorizzazione (Cd-Rom o disco magnetico). E' necessario pertanto raggiungere un compromesso tra dimensione del file e qualità dell'immagine. Una fotografia con risoluzione 640 x 480 a 256 colori richiede 1 byte (=8 bit) di informazione per ogni pixel (2 8 =256) ed occupa pertanto circa 307 Kbyte su disco. La stessa fotografia a 16 milioni di colori richiede 3 byte (=24 bit) di informazione per ogni pixel (2 24 = ) ed occupa pertanto circa 921 Kbyte. Naturalmente questa occupazione di spazio si riferisce a files non compressi, quali possono essere ad esempio i file in formato BMP di Windows. Per risparmiare spazio su disco vengono utilizzati algoritmi di compressione che trasformano i file originari non compressi in file più piccoli. Tali algoritmi di compressione possono essere "a perdita di informazione" o "senza perdita di informazione". Tra i primi segnaliamo il formato JPEG e tra i secondi il formato GIF, i due formati grafici utilizzati per le immagini su Internet. Il formato JPEG (Joint Photographic Experts Group) consente di comprimere immagini sia a colori che in toni di grigio e si basa su una sorta di classifica dei colori contenuti in un certo settore della fotografia sulla base della frequenza con cui si presentano. L'utente è messo in grado di controllare la quantità di informazione passata al compressore e dunque la dimensione del file risultante. Tale controllo viene effettuato eliminando i colori meno frequenti, che rappresentano il rumore di fondo. La compressione Jpeg è una compressione a perdita di informazione, ovvero l'immagine decompressa non è qualitativamente la stessa dalla quale si era partiti. Il formato Jpeg può manipolare immagini a 8 o 24 bit di colore. Il risparmio offerto dal formato Jpeg è dell'ordine di 1 a 10. Questo formato è consigliato per la memorizzazione di fotografie (ritratti, paesaggi) ma non di figure geometriche, schemi o diagrammi, dato che la compressione Jpeg provocherebbe una perdita di nitidezza dei contorni. Il formato GIF (Graphic Interchange Format) consente di comprimere immagini a colori, in toni di grigio o in bianco e nero. Esso può trattare immagini a 8 bit di colore, ovvero 256 colori o 256 toni di grigio. La compressione Gif non provoca perdita di informazione e consente un risparmio medio dell'ordine di 1 a 4. Questo formato è consigliato per memorizzare figure geometriche e consente anche di avere sfondi trasparenti ed immagini caricate in modo

4 non interlacciato (una riga per volta dall'alto verso il basso) o interlacciato (tutta l'immagine prende forma poco a poco sul video, diventando man mano più nitida). 2. Reversibilità e ibernazione Pensiamo ora ad un tipico file grafico, ad esempio una fotografia a colori salvata in modalità RGB. Senza addentrarci in discorsi complessi sulla codifica del colore, diremo che questa modalità richiede l'uso di tre byte per memorizzare le informazioni di colore e luminosità relative a ciascun punto - o pixel - dell'immagine. Per sapere, quindi, quanto spazio occupa su disco questo file grafico, ci basta moltiplicare per tre il numero complessivo di punti da cui è costituita l'immagine. Questo numero si ottiene, a sua volta, moltiplicando il numero delle colonne per il numero delle righe che compongono il rettangolo occupato dall'immagine. Data allora una foto di 1024 pixel orizzontali per 768 verticali, lo spazio che essa occupa come file su disco è di 1024 x 768 x 3 = byte, il che equivale a Kilobyte o, ancora, a 2,25 Megabyte. E' importante precisare che tale cifra rappresenta lo spazio occupato dal file grafico in forma non compressa. Un qualsiasi programma per la visualizzazione di immagini a monitor avrà bisogno di tutti quei byte per poter generare sullo schermo del computer una foto uguale all'originale memorizzato su disco. E non solo i byte dovranno esserci tutti, ma dovranno anche risultare disposti nella stessa esatta sequenza in cui sono stati la prima volta archiviati. Ma se è compito specifico di un algoritmo di compressione trasformare la sequenza di byte che costituisce un file in una differente sequenza più breve, è evidente che la sequenza di byte che compone un file grafico compresso non sarà utilizzabile per generare l'immagine contenuta nel file originale. Ciò ci porta a definire una caratteristica fondamentale di qualsiasi formato di compressione passibile di applicazioni pratiche: la reversibilità della compressione. In genere, se un programma ha la capacità di salvare un file in un formato compresso, è anche in grado di leggere i file che sono stati compressi con quel particolare formato, ripristinando l'informazione in essi contenuta, cioè decomprimendoli. Senza reversibilità, anche il migliore degli algoritmi di compressione è inutile, come lo è farsi ibernare oggi da vivi, non sapendo se un domani si potrà essere scongelati e riportati ad una vita normale. 3. Fedeltà assoluta e fedeltà relativa In virtù di quanto detto sopra, la principale differenza che possiamo stabilire tra i formati di compressione delle immagini grafiche è data dalla misura della loro reversibilità. Un formato che è in grado di restituire, al termine della decompressione, un'immagine esattamente uguale - pixel per pixel - all'originale com'era prima che venisse compresso, viene normalmente definito con l'impronunciabile termine inglese lossless. In italiano potremmo tradurre con senza perdita oppure con non distruttivo. Viceversa, un formato di compressione che non può assicurare una reversibilità assoluta, viene definito in inglese lossy, ovvero, in italiano, con perdita o anche distruttivo. La cosa che si perde o non si perde è la fedeltà all'originale dell'immagine ripristinata.

5 I grafici e gli impaginatori di professione devono conoscere perfettamente le caratteristiche dei formati di compressione che adoperano, se vogliono ottenere il meglio dalle manipolazioni che effettuano sui file. Sarebbe infatti un grave errore salvare e risalvare un file in un formato lossy come il JPG, per poi utilizzarlo alla fine in un formato "senza perdita" come il TIF. E' invece corretto fare il contrario, ovvero salvare quante volte si vuole un lavoro in corso d'opera in un formato non distruttivo, per poi salvarlo solo alla fine, se necessario, in un formato distruttivo. La regola (e la logica) vuole, insomma, che l'archiviazione in un formato lossy sia sempre l'anello conclusivo della catena di trasformazioni a cui è sottoposto un file. 4. L'efficienza del coefficiente di compressione A questo punto nasce una domanda scontata: perché mai usare un formato di compressione distruttivo, se esistono sistemi non distruttivi che permettono di comprimere e decomprimere uno stesso file infinite volte, conservando tutte le informazioni in esso contenute? La risposta è che in molti casi la quantità di spazio che una compressione non distruttiva (lossless) riesce a salvare è di molto inferiore al risparmio di spazio ottenibile per mezzo di una compressione distruttiva (lossy). L'efficienza della compressione viene calcolata dividendo la grandezza originale del file per la grandezza dopo il processo di compressione. In inglese questo valore si chiama compression rate o, alla latina, ratio; in italiano possiamo chiamarlo coefficiente o fattore di compressione. A causa del differente tipo di operazioni svolte sull'immagine, in certi casi è opportuno utilizzare un formato di compressione distruttivo, in altri uno non distruttivo. Tipicamente, le immagini grafiche contenenti disegni a tinte uniformi e contorni netti e ben contrastati - le tavole dei fumetti ad esempio - sono le candidate ideali per compressioni del tipo lossless. Al contrario, le foto - soprattutto quelle contenenti un gran numero di colori differenti e transizioni sfumate tra primo piano e sfondo - richiedono compressioni del tipo lossy se si vuole ottenere un risparmio significativo di spazio. Ma vediamo, per mezzo di una tabella riassuntiva, i guadagni di spazio che si possono ottenere con ciascuno dei due metodi di compressione dei file grafici. Tab. 1 COEFFICIENTI DI COMPRESSIONE OTTENIBILI Immagini naturali (foto digitali, scansioni) Immagini artificiali (disegni, fumetti) Tipi di compressione Non distruttiva (lossless) 1:1,5-1:2 Distruttiva (lossy) 1:1,5-1:30 1:10-1:300 1:1,5-1:20 1:1,5-1:300 senza una visibile perdita di qualità con perdita di qualità

6 Questa tabella ci dice, quindi, che un file grafico di 1024 x 768 pixel in modalità RGB, che, come abbiamo visto più sopra, occupa in forma non compressa Kb, può "dimagrire" con una compressione non distruttiva fino a ridursi, nel migliore dei casi, a poco più di 115 Kb, cioè un ventesimo della grandezza originaria. Questo, però, se l'immagine rappresentata nel file è un disegno, un fumetto. Nel caso sia invece una foto, il meglio che possiamo sperare dalla compressione non distruttiva è un dimezzamento del peso del file: da a Kb circa. Ben diversi sono i fattori di compressione che possiamo ottenere ricorrendo all'uso di formati distruttivi. Il file contenente la scansione di una foto può ad esempio essere ridotto fino ad un trentesimo circa della grandezza originaria (cioè meno di 77 Kb sui Kb di partenza del nostro esempio) senza alcuna perdita di qualità apparente. Se, poi, non ci infastidisce un certo progressivo, visibile degrado dell'immagine, possiamo ottenere fattori di compressione addirittura del 300 per cento, che porterebbero il nostro file da a poco meno di 8 Kb! Evidente, dunque, la necessità di usare per la visualizzazione su Internet, soggetta alla lentezza delle connessioni via modem, i formati distruttivi, grazie alle loro superiori capacità di compressione. 5. I principali algoritmi di compressione 5.1. L'algoritmo RLE (Run Lenght Encoding) Proviamo ora a vedere come funziona un sistema di compressione non distruttivo, tuttora diffuso, noto con la sigla RLE, acronimo di Run Lenght Encoding, che potremmo rendere in italiano con codifica della lunghezza di stringa. In questo tipo di compressione, ogni serie ripetuta di caratteri (o run, in inglese) viene codificata usando solo due byte: il primo è utilizzato come contatore, e serve per memorizzare quanto è lunga la stringa; il secondo contiene invece l'elemento ripetitivo che costituisce la stringa. Immaginate ora di comprimere in questo formato un file grafico contenente un grande sfondo di un solo colore uniforme. Tutte le volte che l'analisi sequenziale del file s'imbatterà in stringhe di caratteri uguali, e ciò accadrà spesso nella scansione dello sfondo omogeneo, le serie ripetitive potranno essere ridotte a due caratteri soltanto: uno che esprime il numero delle ripetizioni, il secondo il valore che si ripete. E il risparmio di spazio sarà direttamente proporzionale al livello di uniformità presente nell'immagine. Questo tipo di codifica viene anche utilizzato per comprimere le immagini nei dispositivi fax. Provate ora, invece, ad usare il sistema RLE su una foto piena di colori differenti e di transizioni sfumate: il risparmio di spazio sarà molto minore, perché poche saranno le stringhe di ripetizioni che l'algoritmo riuscirà a trovare leggendo sequenzialmente il file. Pensate, infine, al caso limite di un'immagine creata artificialmente contenente una serie di pixel tutti differenti l'uno dall'altro nei valori cromatici. In questo caso, l'uso della compressione RLE si dimostra addirittura controproducente.

7 5.2. L'algoritmo Huffman Quest'algoritmo non distruttivo fu inventato nel 1952 dal matematico D.A. Huffman ed è un metodo di compressione particolarmente ingegnoso. Funziona in questo modo: 1. analizza il numero di ricorrenze di ciascun elemento costitutivo del file da comprimere: i singoli caratteri in un file di testo, i pixel in un file grafico. 2. Accomuna i due elementi meno frequenti trovati nel file in una categoria-somma che li rappresenta entrambi. Così ad esempio se A ricorre 8 volte e B 7 volte, viene creata la categoria-somma AB, dotata di 15 ricorrenze. Intanto i componenti A e B ricevono ciascuno un differente marcatore che li identifica come elementi entrati in un'associazione. 3. L'algoritmo identifica i due successivi elementi meno frequenti nel file e li riunisce in una nuova categoria-somma, usando lo stesso procedimento descritto al punto 2. Il gruppo AB può a sua volta entrare in nuove associazioni e costituire, ad esempio, la categoria CAB. Quando ciò accade, la A e la B ricevono un nuovo identificatore di associazione che finisce con l'allungare il codice che identificherà univocamente ciascuna delle due lettere nel file compresso che verrà generato. 4. Si crea per passaggi successivi un albero costituito da una serie di ramificazioni binarie, all'interno del quale appaiono con maggiore frequenza e in combinazioni successive gli elementi più rari all'interno del file, mentre appaiono più raramente gli elementi più frequenti. In base al meccanismo descritto, ciò fa sì che gli elementi rari all'interno del file non compresso siano associati ad un codice identificativo lungo, che si accresce di un elemento ad ogni nuova associazione. Gli elementi invece che si ripetono più spesso nel file originale sono anche i meno presenti nell'albero delle associazioni, sicché il loro codice identificativo sarà il più breve possibile. 5. Viene generato il file compresso, sostituendo a ciascun elemento del file originale il relativo codice prodotto al termine della catena di associazioni basata sulla frequenza di quell'elemento nel documento di partenza. Il guadagno di spazio al termine della compressione è dovuto al fatto che gli elementi che si ripetono frequentemente sono identificati da un codice breve, che occupa meno spazio di quanto ne occuperebbe la loro codifica normale. Viceversa gli elementi rari nel file originale ricevono nel file compresso una codifica lunga, che può richiedere, per ciascuno di essi, uno spazio anche notevolmente maggiore di quello occupato nel file non compresso. Dalla somma algebrica dello spazio guadagnato con la codifica breve degli elementi più frequenti e dello spazio perduto con la codifica lunga degli elementi più rari si ottiene il coefficiente di compressione prodotto dall'algoritmo Huffman. Da quanto detto si deduce che questo tipo di compressione è tanto più efficace quanto più ampie sono le differenze di frequenza degli elementi che costituiscono il file originale, mentre scarsi sono i risultati che si ottengono quando la distribuzione degli elementi è uniforme 5.3. L'algoritmo LZW (Lempel-Ziv-Welch) L'algoritmo non distruttivo che va sotto il nome di LZW è il risultato delle modifiche apportate nel 1984 da Terry Welch ai due algoritmi sviluppati nel 1977 e nel 1978 da Jacob Ziv e Abraham Lempel, e chiamati rispettivamente LZ77 e LZ78.

8 Il funzionamento di questo metodo è molto semplice: viene creato un dizionario delle stringhe di simboli ricorrenti nel file, costruito in modo tale che ad ogni nuovo termine aggiunto al dizionario sia accoppiata in modo esclusivo un'unica stringa. Esiste un dizionario di partenza costituito dai 256 simboli del codice ASCII, che viene incrementato con l'aggiunta di tutte le stringhe ricorrenti nel file, che siano maggiori di un carattere. Ciò che viene memorizzato nel file compresso è un codice breve che rappresenta in modo inequivocabile la stringa inserita nel dizionario così creato. Esiste, naturalmente, un insieme di regole non ambigue per la codifica del dizionario, che permetterà in seguito al sistema di decompressione di generare un dizionario esattamente uguale a quello di partenza, in modo tale da poter effettuare l'operazione inversa a quella di compressione, consistente nella sostituzione del codice compresso con la stringa originale. La reversibilità completa e precisa dell'operazione è indispensabile al fine di riottenere l'esatto contenuto del file originale. Il risparmio di spazio in un file compresso con LZW dipende dal fatto che il numero di bit necessari a codificare il "termine" che rappresenta una stringa nel dizionario è inferiore al numero di bit necessari a scrivere nel file non compresso tutti i caratteri che compongono la stringa. Quanto più numerose e lunghe sono le stringhe che è possibile inserire nel dizionario, tanto maggiore sarà il coefficiente di compressione del file. I formati grafici più noti che utilizzano l'algoritmo LZW sono il TIFF e il GIF. Esso è utilizzato anche dallo standard V.42bis, implementato su tutti i modem di ultima generazione come uno dei protocolli per la trasmissione di dati compressi 6. Il formato grafico GIF e la perdita di informazioni sui colori La sigla GIF sta per Graphics Interchange Format, un formato grafico sviluppato alla fine degli anni '80 da CompuServe. La compressione operata da GIF usa l'algoritmo LZW, che, come abbiamo visto poco sopra, è un criterio di compressione non distruttivo. Tuttavia salvare un file in formato GIF può comportare una sensibile perdita di informazioni: ciò accade quanto l'immagine di partenza è codificata in uno spazio colore (RGB, CMYK, L*a*b) non riproducibile integralmente per mezzo della tavolozza indicizzata, contenente fino a un massimo di 256 colori, che è lo standard interno del formato GIF. In un caso simile, la quantità di colori presenti nell'immagine originale viene drasticamente ridotta, ricorrendo ad una serie di algoritmi di trasformazione opportunamente supportati dai più comuni e diffusi programmi di grafica. L'esito della riduzione sarà un'immagine codificata con un minimo di 1 bit per pixel fino ad un massimo di 8 bit per pixel. La codifica con un solo bit per pixel genera immagini GIF in bianco e nero, dove uno dei due valori possibili del bit (acceso o spento, 1 o 0) rappresenta il nero e l'altro il bianco. Al crescere del numero dei bit adoperati avremo formati GIF con 4, 8, 16, 32, 64, 128 o 256 colori, valore, quest'ultimo, corrispondente all'uso di 8 bit per pixel. Data un'immagine a colori in modalità RGB, avente una profondità del colore di 24 bit, la conversione ad una tavolozza a 256 colori porterà ad una riduzione di un terzo della grandezza del file (24 bit / 8 bit = 3). Ciò prima ancora che sia applicata la compressione basata sull'algoritmo LZW. Riduzioni di grandezza proporzionalmente maggiori si

9 ottengono se la tavolozza usata per la conversione contiene 128, 64, 32, 16, 8, 4 o solo 2 colori. La conversione operata sull'immagine originale trasforma i valori RGB di ciascun pixel in un valore RGB approssimato, dipendente dal tipo di tavolozza-colore prescelto per effettuare l'operazione. I valori cromatici di questa tavolozza saranno poi inglobati nel file GIF generato, in modo da consentire, in fase di decompressione, di generare a monitor un'immagine corrispondente ai valori salvati. Tra le varie opzioni di conversione del colore che i più diffusi programmi di grafica mettono a disposizione dell'utente, citiamo le seguenti tavolozze: adattata - cerca di mantenere i colori del file compresso quanto più possibile simili a quelli del file originale; ottimizzata - codifica i 256 colori sulla base della loro presenza percentuale all'interno dell'immagine originale; uniforme - contiene uguali proporzioni di rosso, di verde e di blu; di sistema - fornisce i colori predefiniti del sistema operativo Microsoft Windows; Internet Explorer - fornisce i colori predefiniti usati dal browser della Microsoft; Netscape Navigator - fornisce i colori standard utilizzati dal browser della Netscape; personalizzata - consente di aggiungere colori a scelta dell'utente fino a completare la gamma dei 256 possibili. E' chiaro, però, che, qualsiasi sia la tavolozza adoperata, l'immagine ricostruita a partire dai dati salvati nel file GIF non sarà uguale all'immagine RGB originale e sarà tanto più "povera" d'informazione quanto maggiore sarà il numero dei colori presenti nell'immagine di partenza che vengono eliminati per approssimazione, in modo da avere alla fine una tavolozza di 256 colori al massimo. Si può utilizzare anche una tavolozza adattata, in grado di preservare un alto grado di corrispondenza visiva all'originale. Il limite d'uso di questo tipo di tavolozza è nell'impredicibilità della riproduzione dell'immagine su computer differenti, ne nasce quindi un problema di portabilità,, la cui dotazione hardware e software si discosti da quella del computer su cui è stato generato il file GIF. 7. Il formato JPEG Il JPEG è dunque uno standard industriale e non va confuso con il formato di file JPG, che rappresenta di volta in volta, a seconda della software house che lo implementa, un sottoinsieme variabile e non sempre universalmente compatibile dello standard di riferimento. Pochi ad esempio sanno che le specifiche JPEG descrivono anche un formato di compressione non distruttivo, basato su tecniche differenti da quelle che descriveremo qui di seguito, del quale si è ormai persa traccia, non usando gli sviluppatori di programmi di grafica - a causa delle sue non straordinarie prestazioni - inserirlo tra le varie opzioni di salvataggio dei normali file JPG.

10 Fig. 6 - Schematizzazione semplificata del processo di compressione JPEG Ecco in dettaglio la sequenza di operazioni che da un'immagine originale non compressa porta ad un'immagine compressa con JPEG. 1) Trasformazione dello spazio colore - A causa delle particolari caratteristiche dell'occhio umano, molto più sensibile alle variazioni di luminosità che alle variazioni cromatiche, è opportuno innanzitutto trasformare la modalità RGB in modalità YUV. E' questo lo spazio-colore definito per il sistema televisivo PAL. Tra i suoi equivalenti nel campo della computergrafica c'è il metodo L*a*b presente in Adobe Photoshop. Il sistema YUV scompone l'informazione relativa a ciascun pixel in due componenti: la luminanza, che definisce il grado di luminosità nella scala da nero a bianco (la lettera Y della sigla YUV), e la crominanza, che definisce il colore in base al rapporto tra due assi, uno che va da blu a giallo (la lettera U) e l'altro che va da rosso a verde (la lettera V). Eseguire la trasformazione dallo spazio-colore RGB allo spazio-colore YUV non è indispensabile, ma il farlo consente di ottenere una maggiore compressione JPEG. Quando, infatti, le successive trasformazioni matematiche che si applicano all'immagine trovano l'informazione nettamente suddivisa nelle due componenti di luminosità e di colore, possono procedere all'eliminazione di molte informazioni relative al colore senza intaccare quelle relative alla luminosità, più importanti per la visione umana, e senza causare, in tal modo, danni visibili al contenuto dell'immagine. Ciò non è possibile invece nella stessa misura quando gli algoritmi di compressione si applicano a valori RGB, che presentano l'informazione relativa al colore e quella relativa alla luminosità fuse insieme (per le immagini in scala di grigio la conversione non ha senso, in quanto l'informazione sulla luminosità è già disponibile in partenza). 2) Riduzione, in base alla componente, di gruppi di pixel a valori medi - E' un'operazione opzionale, di cui alcuni software di grafica consentono l'impostazione. La componente che esprime la luminanza è lasciata invariata, mentre la componente cromatica viene dimezzata in orizzontale e in verticale, oppure soltanto in orizzontale. Ciò si esprime con il rapporto 2:1 per indicare il dimezzamento e con il rapporto 1:1 per indicare che la componente è lasciata invariata. Alcuni programmi di grafica, tra le opzioni di salvataggio in JPG, mostrano stringhe esoteriche come e 4-2-2, che esprimono appunto il coefficiente di riduzione che viene applicato alle componenti cromatiche

11 dell'immagine. Tale operazione, che fa parte degli algoritmi distruttivi dello standard JPEG, riduce in partenza il file di una metà o di un terzo della sua grandezza originale. Non si applica alle immagini a toni di grigio e ciò spiega perché queste siano meno comprimibili in generale delle immagini a colori. 3) DCT applicata a blocchi di 8 x 8 pixel suddivisi in base alla componente - La sigla DCT sta per Discrete Cosine Transform: si tratta di una serie di operazioni matematiche che trasformano i valori di luminosità e colore di ciascuno dei 64 pixel di ogni blocco preso in esame in altrettanti valori di frequenza. In particolare, mentre i valori dei pixel contenuti nei blocchi di 8 x 8 tratti dall'immagine originale variano da 0 a 255, dopo l'esecuzione della DCT essi, trasformati in frequenze, variano da -721 a 721. Dov'è allora il guadagno? In una sottile combinazione di quantizzazione e codifica entropica. In termini più semplici, la trasformazione dei valori in frequenze consentirà nei passaggi successivi di tagliare più informazioni senza apparente perdita visiva di quante se ne potrebbero tagliare lavorando sui valori naturali dei pixel. Inoltre la sequenza a zig zag in cui i nuovi valori vengono scritti consente di applicare ad essi una compressione (Huffman o aritmetica) più efficace. Fig. 7 - Scrittura a zig zag dei valori ottenuti con la DCT, a partire dall'angolo superiore sinistro del blocco di 8 x 8 pixel (schemi tratti dalle specifiche ufficiali JPEG ITU.T81) 4) Divisione e arrotondamento all'intero dei 64 valori ottenuti con la DCT - Ciascuno dei 64 valori di frequenza viene diviso per uno specifico coefficiente di quantizzazione, codificato in apposite tavole di riferimento. Il risultato della divisione viene arrotondato all'intero più vicino. L'eliminazione dei decimali è la principale operazione di compressione distruttiva dello standard JPEG. Il tutto è studiato in modo che le frequenze più importanti per l'occhio umano, cioè le più basse, memorizzate nell'angolo superiore sinistro del blocco di 8 x 8, siano preservate, mentre le più alte, la cui perdita è relativamente ininfluente, vengano eliminate. 5) Compressione non distruttiva dei coefficienti quantizzati - Ai valori risultanti dalla divisione e dall'arrotondamento sopra descritti viene applicata una compressione non distruttiva, per la quale può essere utilizzato l'algoritmo Huffman o una codifica aritmetica chiamata Q-coding. Quest'ultima è di circa il 5-10 % più efficace della Huffman, ma è

12 protetta da brevetto, per cui il suo uso non è gratuito. Per tale motivo i software che realizzano la compressione JPG implementano solo l'algoritmo Huffman. 6) Inserimento nel file compresso di intestazioni e parametri per la decompressione - Affinché il file possa essere in seguito decompresso e possa generare un'immagine il più possibile somigliante all'originale non compresso, occorre che nel file JPG siano inserite le tabelle contenenti i coefficienti di quantizzazione e i valori di trasformazione della codifica Huffman. Due precisazioni in conclusione di paragrafo. La prima riguarda il noto fenomeno dei blocchi quadrettati, che sono spesso chiaramente visibili nelle immagini JPG molto compresse e rappresentano un forte elemento di degrado della qualità. Essi sono la conseguenza diretta dell'algoritmo che suddivide l'immagine di partenza in blocchi da 8 x 8 pixel. Le varie trasformazioni applicate ai valori dei pixel di ciascun blocco sono del tutto indipendenti dalle trasformazioni applicate ai pixel dei blocchi adiacenti. Ciò causa talvolta transizioni brusche tra pixel adiacenti appartenenti a blocchi differenti. Il fenomeno è tanto più appariscente quanto più l'immagine contiene aree di colore uniforme e linee sottili ben separate dallo sfondo. 8. CODIFICA DEI COLORI La codifica dei colori per immagini professionali utilizza i modelli RGB e HSB (tricromia), ottimizzati per la resa su video, o CYMK (quadricromia), ottimizzato per la resa a stampa. Nel modello RGB (Red, Green, Blue) ciascun colore è rappresentato da 1 byte di informazione. Un pixel di immagine RGB occupa quindi 24 bit di informazione. Il modello HSB è analogo ma rappresenta i colori in termini di Hue (tonalità, ossia la lunghezza d'onda di colore dal rosso all'azzurro), Saturation (saturazione, ossia la purezza del colore tenendo conto della quantità di grigio in esso contenuta), Brightness (Luminosità, ossia l'intensità luminosa del colore). Nel modello CYMK (Cyan, Yellow, Magenta, black) ciascun colore e rappresentato da 1 byte e un pixel occupa 32 bit di informazione. La grafica bitmap è efficace quando si vogliono trattare immagini ricche di colori e di sfumature, quali fotografie o riproduzioni di opere pittoriche o semplici disegni geometrici. Quando si devono rappresentare forme geometriche, linee o caratteri di stampa e in generale immagini con pochi colori e dai contorni ben definiti, la grafica bitmap non è la soluzione ottimale. Nel caso di disegni tecnici o figure stilizzate si ricorre generalmente ad un formato molto più "leggero" da gestire: il formato vettoriale. Nella grafica vettoriale i disegni vengono memorizzati non come punti di colore ma come coordinate di figure geometriche nello spazio. Il vantaggio è di avere files molto più piccoli ed elaborabili in tempi molto minori. Le applicazioni di realtà virtuale in uso sui calcolatori odierni (simulatori di volo, edifici virtuali, ecc.) fanno ampio uso della grafica vettoriale proprio per queste sue caratteristiche. 9. IMMAGINI RASTER ED IMMAGINI VETTORIALI Nella grafica vettoriale le linee che compongono i disegni non sono realizzati come semplici pixel colorati, ma sono composti da una serie di oggetti. Esiste un numero limitato di oggetti standard, definiti da equazioni: la retta, il poligono e la curva. Tutte le altre forme vengono concepite come formate da questi oggetti basilari. La

13 rappresentazione in memoria non è punto per punto, ma oggetto per oggetto e ciascuno di questi è sintetizzato da una formula e da alcuni parametri o proprietà. Un rettangolo, ad esempio, è rappresentato come un poligono con parametri per altezza, larghezza, spessore della linea perimetrale, tipo di riempimento, colore e tipo della linea perimetriale, colore e tipo del riempimento, trasparenza. Inoltre, per collocare l'oggetto rettangolo correttamente nell'ambito del disegno, è necessario stabilire le coordinate dell'angolo in alto a sinistra ed il livello di appartenenza. Quest'ultimo parametro permette la sovrapposizione di oggetti senza che questi, sul video, si fondano. La visualizzazione viene effettuata come se fosse composta da innumerevoli livelli immaginari sovrapposti, su ognuno dei quali è presente un solo oggetto. Gli oggetti che si trovano sui livelli superiori coprono quelli che si trovano sui livelli inferiori. Se si realizza una linea, una curva o una figura geometrica con un programma di disegno ad oggetti, questa non sostituisce la parte di disegno già esistente, bensì vi si sovrappone. Inoltre, trovandosi su un livello a se stante, può essere sempre individuata, spostata, modificata, annullata o portata in un livello sottostante al disegno preesistente. Il disegno ad oggetti trova applicazioni in campi molto disparati: disegno pittorico o illustrativo, disegno geometrico, disegno tecnico ed altri GRAFICA RASTERIZZATA (SCANNER) Gli scanner generano immagini bitmap, che utilizzano una griglia (la mappa dei bit) di piccoli quadrati, detti pixel, per la rappresentazione dell'immagine. A ciascun pixel vengono assegnati una posizione specifica e un valore cromatico. Le immagini bitmap contengono un numero fisso di pixel (quadrati) per centimetro, se si ingrandisce l'immagine si ingrandiscono anche i pixel che la compongono, possono quindi perdere dettaglio e apparire dentellate (figura 1). GRAFICA VETTORIALE La grafica vettoriale è caratterizzata da linee e curve definite da entità matematiche chiamate vettori. I vettori descrivono i disegni in base alle loro caratteristiche geometriche.e' possibile spostare, ridimensionare, modificare il colore e la forma di ogni singolo elemento dei disegni vettoriali, lasciando inalterata la qualità finale dell'immagine (figura 2). I disegni vettoriali sono indipendenti dalla risoluzione, ovvero possono essere ridotti o ingranditi a qualsiasi misura e stampati con ogni tipo di periferica senza mai perdere precisione e nitidezza.

14 10. OPERAZIONI SULLE IMMAGINI OPERAZIONI PUNTUALI Il valore di ogni pixel dell immagine in uscita dipende soltanto dal valore del pixel corrispondente nell immagine in ingresso. Img_out(X,Y) = F (Img_in(X,Y)) Es. (inversione del contrasto in una immagine ad 8 bit) Img_out(X,Y) = Img_in(X,Y) Si ottiene l immagine complementare. Con operazioni di questo tipo è possibile correggere ad es. non linearità del sistema di acquisizione OPERAZIONI ALGEBRICHE Sono operazioni che vengono compiute fra più immagini. Possono utilizzare sia operatori algebrici che operatori logici. SOMMA, SOTTRAZIONE, PRODOTTO, DIVISIONE AND, OR, XOR (su immagini binarie o bit plane) Es. OR = OPERAZIONI GEOMETRICHE Il risultato G(x,y) è funzione di x =a(x,y) y =b(x,y) G(x,y) = F(x,y ) = F(a(x,y),b(x,y)) Es. ROTAZIONE DEGLI ASSI a(x,y) = x cos a - y sen a b(x,y) = x sen a + y cos a

15 10.4. Operazioni locali Il valore di un pixel nell immagine trasformata dipende dal valore dei pixel che nell immagine di ingresso si trovano in un intorno (window) del pixel ad esso corrispondente. I Pi,j (pesi di una media pesata) costituiscono la risposta impulsiva di un filtro FIR bidimensionale. L elaborazione di un immagine equivale in questo caso ad una convoluzione fra l immagine ed una maschera bidimensionale contenente i pesi. 11. Algoritmi e primitive per la grafica raster bidimensionale La visualizzazione di un modello grafico passa attraverso quattro stadi principali, che costituiscono la cosiddetta pipeline grafica: 1. Modellazione 2. Elaborazione geometrica 3. Rasterizzazione 4. Display Figura 4.1 Pipeline grafica. Il risultato della modellazione è un insieme di vertici che specificano un insieme di oggetti geometrici gestiti dal sistema grafico. Il compito dell'elaborazione geometrica è quello di determinare quali oggetti appaiono sullo schermo e di assegnare colori e ombre a tali oggetti. Quattro procedimenti vengono applicati: normalizzazione, clipping, rimozione delle linee nascoste ed ombreggiatura. Dopo che è stata effettuata la proiezione, si lavora con oggetti bidimensionali. Si ha ad esempio un insieme di vertici degli oggetti da visualizzare. Per visualizzare tali oggetti, occorre usare questi vertici per generare un insieme di pixel, tramite un processo di rasterizzazione o scan conversion. Infine, il processo di trasferimento dell'immagine dal frame-buffer allo schermo è svolto automaticamente dall'hardware grafico. 1. Strategie di Implementazione Nei sistemi di grafica raster le primitive geometriche, descritte in termini dei loro vertici sul piano cartesiano, sono approssimate da matrici di pixel. Con una matrice abbastanza densa è possibile rappresentare praticamente qualsiasi oggetto geometrico, anche

16 complesso: punti, linee, cerchi, ellissi, etc. La procedura con cui le figure di tipo continuo si rappresentano come insieme di pixel discreti è chiamata scan conversion (conversione di scansione). Un'altra operazione fondamentale per passare dalla definizione geometrica di una primitiva nel programma applicativo alla sua visualizzazione sul dispositivo di output grafico è il clipping, ovvero il processo che consiste nell'eliminazione delle parti degli oggetti al di fuori della regione di visualizzazione. Ci sono diversi modi per effettuare il clipping. La tecnica più ovvia è quella di effettuare il clipping della primitiva prima della scan conversion, calcolandone le intersezioni analitiche con i bordi del rettangolo di visualizzazione; i punti di intersezione sono quindi usati per definire nuovi vertici per la primitiva. Il vantaggio di eseguire il clipping prima della scan conversion risiede ovviamente nel fatto che la scan conversion deve trattare solo con la nuova versione delle primitive, non con quella originale, che potrebbe essere molto più estesa. Questa tecnica è usata molto spesso per il clipping di segmenti, rettangoli e poligoni per i quali gli algoritmi di clipping risultano piuttosto semplici ed efficienti. Una tecnica più semplice per il clipping è lo scissoring, che consiste nell'effettuare la scan conversion dell'intera primitiva e nella visualizzazione solo dei pixel all'interno del rettangolo di visualizzazione. In linea di principio, questa procedura confronta le coordinate di ciascun pixel con le coordinate (x, y) dei bordi del rettangolo di visualizzazione, prima di scrivere il pixel. In pratica, si cerca di ottimizzare il procedimento, evitando di controllare, ad esempio, i pixel adiacenti sulla stessa linea di scansione. I display raster invocano gli algoritmi di clipping e scan conversion ogni volta che un'immagine viene creata o modificata. Questi algoritmi non solo devono creare immagini visualizzabili in modo soddisfacente, ma devono eseguire queste operazioni il più velocemente possibile. Come vedremo, gli algoritmi di scan conversion usano metodi incrementali per minimizzare il numero di calcoli da eseguire durante ogni iterazione; inoltre essi usano l'aritmetica intera e non quella in virgola mobile. Ci sono due approcci fondamentali per realizzare le implementazioni grafiche. Ciascuno deve naturalmente eseguire gli incarichi fondamentali sopra specificati, la differenza tra i due approcci sta nell'ordine in cui gli incarichi sono eseguiti. Possiamo pensare alle differenze tra i due approcci, concettualmente, in termini di un singolo programma che esegue l'implementazione. Il programma prende in input un insieme di vertici che specificano gli oggetti geometrici e produce in output i pixel nel frame buffer. Per produrre un'immagine il programma deve considerare ciascun pixel, e per produrre un'immagine corretta, deve processare ogni primitiva geometrica e ogni sorgente luminosa. Quindi ci aspettiamo che il programma contenga dei loop iterati su questa variabile di base. Per scrivere un tale programma, dobbiamo quindi stabilire con quale variabile controllare il loop principale del programma, e in base a questa scelta determiniamo il flusso dell'intero processo di implementazione. Le due strategie sono chiamate image-oriented e object-oriented. Nell'approccio object-oriented il programma è controllato da un ciclo della forma for (each_object) render(object); I vertici sono definiti dal programma e sono sottoposti ad una serie di moduli che li trasformano, li colorano e determinano se sono visibili.

17 La maggiore limitazione dell'approccio object-oriented è il grosso ammontare di memoria richiesto e l'alto costo dovuto al fatto di processare ciascun oggetto indipendentemente. Ogni primitiva geometrica che emerge dal processing geometrico potenzialmente può influenzare ciascun insieme di pixel nel frame buffer; quindi l'intero frame buffer deve essere della dimensione del display e deve essere disponibile ad ogni istante. Solo recentemente, grazie al fatto che le memorie sono diventate più dense e più economiche, queste richieste sono diventate accettabili. L'approccio image-oriented è invece basato su un ciclo esterno della forma for (each_pixel) assign_a_color(pixel); Per ogni pixel (o linea di scansione) si lavora backward, cercando di determinare quali primitive geometriche possono contribuire alla sua colorazione. Il vantaggio di un tale approccio è che abbiamo bisogno solo di uno spazio di memoria di display limitato ad ogni passo, e che possiamo sperare di generare pixel (o linee di scansione) alla frequenza e nell'ordine richieste per il refresh del display. Dato che i risultati della maggior parte di calcoli non differiscono significativamente da pixel a pixel (o da linea di scansione a linea di scansione) possiamo usare questa coerenza negli algoritmi sviluppando tecniche incrementali per molti dei passi dell'implementazione. Il maggiore svantaggio di questo approccio è che, a meno che costruiamo prima una opportuna struttura di dati geometrici, non sappiamo quali primitive influenzeranno quali pixel. Una tale struttura dati può essere molto complessa e può implicare che tutti i dati geometrici debbano essere disponibili ad ogni passo del processo di rendering. Nel seguito propenderemo per l'approccio objectoriented Scan Conversion dei segmenti In questa sezione descriveremo alcuni algoritmi per la scan conversion dei segmenti. Faremo l'ipotesi di aver già effettuato il clipping delle primitive, e supporremo che gli oggetti siano già stati proiettati sul piano bidimensionale. Trascureremo inoltre l'effetto della rimozione di linee nascoste, su cui torneremo più avanti. Supponiamo che il frame buffer sia una matrice n m di pixel, con origine nell'angolo in basso a sinistra. I pixel possono essere accesi attraverso una singola istruzione all'interno dell'implementazione grafica della forma writepixel(int x, int y, int color); L'argomento value può essere un indice, nei sistemi basati su tabelle, oppure può corrispondere al valore di un pixel, rappresentato ad esempio da un numero a 32 bit, come nel sistema di colorazione RGBA. Il frame buffer è inerentemente discreto, per questo motivo possiamo usare i numeri interi per individuare le locazioni dei pixel al suo interno. Al contrario, le coordinate sullo schermo sono rappresentate da numeri reali. I pixel possono essere visualizzati secondo diverse forme e dimensioni. Per il momento supponiamo che ciascuno sia visualizzato come un quadrato centrato nella locazione associata al pixel stesso, e di lato pari alla distanza tra due pixel. Infine, faremo l'ipotesi che un processo concorrente legga il contenuto del frame buffer e visualizzi l'immagine sul display alla frequenza desiderata. Questa assunzione ci permette di trattare la scan conversion indipendentemente dalla visualizzazione del contenuto del frame buffer.

18 11.2. L'algoritmo DDA Supponiamo di avere un segmento lineare definito dagli estremi (x 1, y 1 ) e (x 2, y 2 ). Assumeremo che questi valori siano già stati arrotondati in modo da corrispondere esattamente alla locazione di due pixel. Si osservi che questa assunzione non è necessaria per derivare l'algoritmo. Infatti, si può utilizzare una rappresentazione in virgola mobile per gli estremi e fare i calcoli usando l'aritmetica in virgola mobile, con il vantaggio di ottenere una scan conversion più accurata. La pendenza del segmento è definita da Il più semplice algoritmo di scan conversion per i segmenti lineari consiste nel calcolare m, incrementare x di 1 a partire dal punto più a sinistra e nel calcolare y i = mx i + h, dove h è l'ordinata del punto dove la retta incrocia l'asse y, per ciascuno degli x i. Questa strategia è tuttavia inefficiente, perché ciascuna iterazione richiede una moltiplicazione ed una somma in virgola mobile ed un arrotondamento mediante l'invocazione di round(). Si può eliminare la moltiplicazione usando una tecnica incrementale, che consiste nel calcolare un punto della retta sulla base del punto precedente. L'algoritmo che si ottiene prende il nome di algoritmo DDA (dall'inglese digital differential analyzer). Il DDA è un dispositivo meccanico che risolve le equazioni differenziali applicando un metodo numerico. Dato che una retta di pendenza m soddisfa l'equazione differenziale, generare un segmento è equivalente a risolvere numericamente una semplice equazione differenziale. Assumiamo che 0 m 1, gli altri valori di m possono essere trattati in modo simmetrico. L'algoritmo DDA consiste nel tracciare un pixel per ciascun valore di x compreso tra x 1 e x 2, tramite il comando writepixel(). Per ogni variazione di x pari a x, la corrispondente variazione di y deve essere pari a y = m x. Muovendosi da x 1 a x 2, x viene incrementato di 1 ad ogni iterazione, ossia x = 1, e dunque dobbiamo incrementare y di y = m.

19 Figura 4.2 Segmento di linea. Nonostante ciascun x sia un numero intero, ciò non vale per y poiché m è un numero in virgola mobile. È dunque necessario arrotondare y ad un valore intero, mediante la funzione round(), per determinare il pixel appropriato. L'algoritmo risultante è il seguente: int x; float dy, dx, y, m; dy = y2 - y1;dx = x2 - x1; m = dy/ dx;y = y1; for (x = x1, x <= x2, x++){ writepixel(x, round(y), line_color); y += m;} Figura 4.3 Pixel visualizzati dall'algoritmo DDA. La ragione per cui abbiamo limitato la pendenza massima a 1 può essere compresa osservando la figura 4.3.

20 Figura 4.4 Pixel generati per segmenti di alta e bassa pendenza. L'algoritmo DDA è infatti della forma: per ogni x, cerca il miglior y, e per pendenze notevoli, la separazione tra i pixel accesi per rappresentare il segmento, può risultare notevole e generare un'approssimazione inaccettabile. Per pendenze maggiori di 1, possiamo allora scambiare x e y, in modo tale che l'algoritmo diventi della forma: per ogni y, cerca il miglior x. Figura 4.5 Pixel generati dall'algoritmo DDA modificato. Dato che i segmenti di linea sono determinati dai vertici, possiamo usare l'interpolazione per assegnare colori differenti ad ogni pixel generato. Possiamo inoltre ottenere pattern punteggiati o tratteggiati, cambiando alternativamente il colore usato per generare i pixel. In ogni caso, questi dettagli non sono direttamente collegati agli algoritmi di scan conversion, che hanno come compito fondamentale solo quello di determinare i pixel da accendere L'algoritmo di Bresenham L'algoritmo DDA è abbastanza efficiente e può essere facilmente implementato. Tuttavia esso richiede un'addizione in virgola mobile per ogni pixel generato. L'algoritmo di Bresenham per la scan conversion delle rette evita invece i calcoli in virgola mobile, e per questo motivo è diventato un algoritmo standard. Supponiamo, esattamente come nell'algoritmo DDA, che il segmento lineare abbia estremi nei punti di coordinate (x 1, y 1 ) e (x 2, y 2 ) e che la pendenza m sia compresa tra 0 e 1. Figura 4.6 Condizioni richieste dall'algoritmo di Bresenham.

21 Supponiamo di essere ad un passo intermedio del procedimento di scan conversion del segmento, e di aver acceso il pixel in posizione (i, j). Per x = i la retta y = mx + h, a cui appartiene il segmento, deve passare attraverso il pixel centrato su (i, j) (stiamo assumendo che i centri dei pixel siano posti nei punti intermedi tra due interi); infatti, in caso contrario, l'operazione di arrotondamento non avrebbe generato questo pixel. Se andiamo avanti a x = i + 1, la condizione sulla pendenza indica che dobbiamo accendere uno tra due pixel possibili: o il pixel in posizione (i + 1, j) o il pixel in posizione (i + 1, j + 1). Avendo ridotto la nostra scelta a soli due pixel, possiamo riformulare il problema in termini di una variabile decisionale d = b - a, dove a e b rappresentano le distanze tra la retta e i due pixel candidati, di ascissa x = i + 1, e di ordinata y = j + 1 e y = j, rispettivamente (si veda la figura 4.6). Figura 4.7 Variabile di decisione dell'algoritmo di Bresenham. Se la variabile di decisione ha valore negativo, la retta passa più vicino al pixel più in basso, così la scelta migliore, che garantisce la migliore approssimazione per il segmento, è quella rappresentata dal pixel in posizione (i + 1, j); altrimenti, sceglieremo il pixel in posizione (i + 1, j + 1). Si potrebbe calcolare d usando y = mx + h, ma questo richiede calcoli in virgola mobile. Per ottenere il vantaggio computazionale dell'algoritmo di Bresenham, occorrono due ulteriori passi. Per prima cosa usiamo una tecnica incrementale per calcolare d, e quindi eliminiamo i calcoli in virgola mobile. Supponiamo che d i sia il valore assunto da d in corrispondenza di x = i. Vogliamo calcolare d i+1 incrementalmente, a partire da d i. Ci sono due situazioni da considerare, che dipendono dal fatto che al passo precedente sia stata incrementata, o meno, la locazione y del pixel (figura 4.7). Figura 4.8 Incremento dei valori di a e b.

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

C M A P M IONAM A E M NT N O

C M A P M IONAM A E M NT N O IMMAGINE DIGITALE Nelle immagini digitali, il contenuto fotografico (radiometria) viene registrato sotto forma di numeri. Si giunge a tale rappresentazione (RASTER) suddividendo l immagine fotografica

Dettagli

PDF created with pdffactory trial version www.pdffactory.com

PDF created with pdffactory trial version www.pdffactory.com Codifica di immagini Codifica di immagini o Un immagine è un insieme continuo di informazioni A differenza delle cifre e dei caratteri alfanumerici, per le immagini non esiste un'unità minima di riferimento

Dettagli

Elaborazione testi: immagini

Elaborazione testi: immagini by Studio Elfra sas Gestione Immagini Aggiornato a Aprile 2009 Informatica di base 1 Elaborazione testi: immagini Il testo di un documento di Word può essere integrato con immagini di vario tipo: 2 1 Elaborazione

Dettagli

IMMAGINE BITMAP E VETTORIALI

IMMAGINE BITMAP E VETTORIALI BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione

Dettagli

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

Immagini vettoriali. Immagini raster

Immagini vettoriali. Immagini raster Immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori. I vettori sono segmenti definiti da un punto di origine, una direzione e

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Immagini Digitali Immagini digitali

Immagini Digitali Immagini digitali Immagini digitali Processi e metodi per la codifica e il trattamento dei formati raster e vettoriali Immagini raster Fondamenti Le immagini raster, chiamate anche pittoriche o bitmap, sono immagini in

Dettagli

Informatica grafica e Multimedialità. 4 Immagini grafiche

Informatica grafica e Multimedialità. 4 Immagini grafiche Immagini raster e vettoriali Le immagini grafiche si distinguono in due classi differenti: immagini raster e immagini vettoriali. Le immagini raster, dette anche pittoriche o pixel-oriented, dividono l

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni La codifica delle Immagini Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori, infatti

Dettagli

Dal foglio di carta alla multimedialità

Dal foglio di carta alla multimedialità Dal foglio di carta alla multimedialità Multimediale Che utilizza più mezzi di comunicazione. Nell'ambito delle tecnologie educative significa utilizzare più mezzi didattici integrati. IPERTESTO E IPERMEDIA

Dettagli

Immagini digitali Appunti per la classe 3 R a cura del prof. ing. Mario Catalano

Immagini digitali Appunti per la classe 3 R a cura del prof. ing. Mario Catalano Immagini digitali LA CODIFICA DELLE IMMAGINI Anche le immagini possono essere memorizzate in forma numerica (digitale) suddividendole in milioni di punti, per ognuno dei quali si definisce il colore in

Dettagli

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi Le immagini digitali formati, caratteristiche e uso Testo e foto di Mario Ceppi GIF Ideale per la rappresentazione di immagini sul Web come gif animate, pulsanti e intestazioni, non è invece adatto alle

Dettagli

La codifica delle immagini

La codifica delle immagini La codifica delle immagini La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: 1. Il numero dei campionamenti o di misurazioni

Dettagli

La codifica delle immagini

La codifica delle immagini Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature, gradazioni di colore differenti e di codificare ognuna mediante un'opportuna

Dettagli

Immagini vettoriali Immagini bitmap (o raster) Le immagini vettoriali .cdr.swf .svg .ai.dfx .eps.pdf .psd

Immagini vettoriali Immagini bitmap (o raster) Le immagini vettoriali .cdr.swf .svg .ai.dfx .eps.pdf .psd Esistono due tipi di immagini digitali: Immagini vettoriali, rappresentate come funzioni vettoriali che descrivono curve e poligoni Immagini bitmap, (o raster) rappresentate sul supporto digitale come

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

La codifica delle immagini

La codifica delle immagini Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature, gradazioni di colore differenti e di codificare ognuna mediante un'opportuna

Dettagli

Codifica delle immagini

Codifica delle immagini Codifica delle immagini Abbiamo visto come la codifica di testi sia (relativamente) semplice Un testo è una sequenza di simboli Ogni simbolo è codificato con un numero Ed ecco che il testo è trasformato

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

INFORMATICA. Elaborazione delle immagini digitali. Università degli Studi di Foggia Dipartimento di Medicina Clinica e Sperimentale

INFORMATICA. Elaborazione delle immagini digitali. Università degli Studi di Foggia Dipartimento di Medicina Clinica e Sperimentale INFORMATICA Università degli Studi di Foggia Dipartimento di Medicina Clinica e Sperimentale A.A. 2014/2015 II ANNO II SEMESTRE 2 CFU CORSO DI LAUREA MAGISTRALE IN SCIENZE E TECNICHE DELLE ATTIVITÀ MOTORIE

Dettagli

CORSI I principali programmi Adobe Photoshop/InDesign/Illustrator Nozioni di base

CORSI I principali programmi Adobe Photoshop/InDesign/Illustrator Nozioni di base CORSI I principali programmi Adobe Photoshop/InDesign/Illustrator Nozioni di base Interfaccia programma InDesign Comprendere il concetto dei programmi Adobe e la loro funzione Prima di tutto bisogna tener

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Codifica delle Informazioni

Codifica delle Informazioni Codifica delle Informazioni Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Panoramica Le informazioni gestite dai sistemi di elaborazione devono essere codificate

Dettagli

gestione e modifica di immagini fotografiche digitali

gestione e modifica di immagini fotografiche digitali gestione e modifica di immagini fotografiche digitali il colore e le immagini la gestione delle immagini Il computer è in grado di gestire le immagini in formato digitale. Gestire vuol dire acquisirle,

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Realizzazione siti web. Le immagini

Realizzazione siti web. Le immagini Realizzazione siti web Le immagini Rappresentqazione digitale delle immagini (immagini bitmapped Si sovrappone all'immagine analogica (ad esempio una fotografia) una griglia fittissima di minuscole cellette.

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Codifica delle immagini (parte I)

Codifica delle immagini (parte I) Codifica delle immagini (parte I) Prof. Marco Dell Oro December 11, 2013 1 Elementi della codifica Le immagini digitali sono risultato della composizione sugli schermi di una serie di elementi di colore

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

INFORMATICA E GRAFICA PER IL WEB

INFORMATICA E GRAFICA PER IL WEB INFORMATICA E GRAFICA PER IL WEB Psicologia e comunicazione A.A. 2014/2015 Università degli studi Milano-Bicocca docente: Diana Quarti LEZIONE 04 INFORMATICA E GRAFICA PER IL WEB A.A. 2014/2015 docente:

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Compressione delle immagini 2 Tecniche di compressione Esistono tecniche di compressione per

Dettagli

gestione e modifica di immagini fotografiche digitali

gestione e modifica di immagini fotografiche digitali gestione e modifica di immagini fotografiche digitali i formati grafici immagini raster e vettoriali La rappresentazione delle immagini in formato elettronico può essere attuata in due modi: raster (detta

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

I formati dei file immagine

I formati dei file immagine I formati dei file immagine Le immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori I vettori sono segmenti definti da un punto

Dettagli

SPECIFICHE E LIMITI DI EXCEL

SPECIFICHE E LIMITI DI EXCEL SPECIFICHE E LIMITI DI EXCEL Un "FOGLIO DI CALCOLO" è un oggetto di un programma per computer costituito da un insieme di celle, organizzate in righe e colonne, atte a memorizzare dati ed effettuare operazioni

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

EasyPrint v4.15. Gadget e calendari. Manuale Utente

EasyPrint v4.15. Gadget e calendari. Manuale Utente EasyPrint v4.15 Gadget e calendari Manuale Utente Lo strumento di impaginazione gadget e calendari consiste in una nuova funzione del software da banco EasyPrint 4 che permette di ordinare in maniera semplice

Dettagli

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info200708 Numeri razionali Cifre più significative: : sono le cifre associate ai pesi maggiori per i numeri maggiori

Dettagli

Rappresentazione delle Immagini

Rappresentazione delle Immagini Rappresentazione delle Immagini Metodi di rappresentazione Raster: Informazione grafica rappresentata come matrice di pixel Vettoriale: Informazione grafica rappresentata da relazioni matematiche (funzioni

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

Dettagli

Colorare coi numeri La rappresentazione delle immagini

Colorare coi numeri La rappresentazione delle immagini Attività 2 Colorare coi numeri La rappresentazione delle immagini Sommario I computer memorizzano i disegni, le fotografie e le altre figure usando solo numeri. Questa attività mostra come fanno. Competenze

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Interesse, sconto, ratei e risconti

Interesse, sconto, ratei e risconti TXT HTM PDF pdf P1 P2 P3 P4 293 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 293 129.1.1 Esercizio per il calcolo dell

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Fotografia corso base. Educazione Permanente Treviso. Specifiche digitali. Federico Covre. http://arcifotografiabase.wordpress.com

Fotografia corso base. Educazione Permanente Treviso. Specifiche digitali. Federico Covre. http://arcifotografiabase.wordpress.com Fotografia corso base Educazione Permanente Treviso Specifiche digitali http://arcifotografiabase.wordpress.com Federico Covre Pixel (picture element) Indica ciascuno degli elementi puntiformi che compongono

Dettagli

Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona

Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Classificazione delle immagini Le immagini si suddividono in raster e vettoriali. Le immagini raster sono di tipo

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

Utilizzo del foglio di lavoro con gli strumenti di disegno di Excel

Utilizzo del foglio di lavoro con gli strumenti di disegno di Excel Utilizzo del foglio di lavoro con gli strumenti di disegno di Excel Geometra Luigi Amato Guida Avanzata per immagini Excel 2000 1 Presentazione della barra degli strumenti di disegno La barra degli strumenti

Dettagli

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica

Dettagli

Corso di grafica vettoriale

Corso di grafica vettoriale Presentazioni Carmine De Rosa (HCSSLUG) Corso di grafica vettoriale Laboratorio Turing Dip. di Informatica ed Applicazioni Università degli Studi di Salerno Obbiettivi del corso Obbiettivo 1: Fornire le

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

WWW.MYPANINI.COM. Album e figurine sono acquistabili nelle quantità desiderate da ciascun utente: da 1 a 1000 copie per ogni articolo.

WWW.MYPANINI.COM. Album e figurine sono acquistabili nelle quantità desiderate da ciascun utente: da 1 a 1000 copie per ogni articolo. 1 WWW.MYPANINI.COM Il progetto My Panini - www.mypanini.com - sviluppato dalla divisione New Media del Gruppo Panini, nasce per offrire ai collezionisti la possibilità di creare la propria collezione personalizzata

Dettagli

INFORMATICA E GRAFICA PER IL WEB

INFORMATICA E GRAFICA PER IL WEB INFORMATICA E GRAFICA PER IL WEB Psicologia e comunicazione A.A. 2013/2014 Università degli studi Milano-Bicocca docente: Diana Quarti INFORMATICA E GRAFICA PER IL WEB A.A. 2013/2014 docente: Diana Quarti

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale !"$#%!" #% Nella prima lezione... Definizione di Informatica Cosa è una soluzione algoritmica Esempi di algoritmi cicalese@dia.unisa.it 2 Prima parte: Società dell informazione Ma cosa vuol dire società

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Informatica per la comunicazione" - lezione 7 -

Informatica per la comunicazione - lezione 7 - Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

4. Fondamenti per la produttività informatica

4. Fondamenti per la produttività informatica Pagina 36 di 47 4. Fondamenti per la produttività informatica In questo modulo saranno compiuti i primi passi con i software applicativi più diffusi (elaboratore testi, elaboratore presentazioni ed elaboratore

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Grafica Digitale. Concetti di base della computer grafica. Oliviero Neglia

Grafica Digitale. Concetti di base della computer grafica. Oliviero Neglia Grafica Digitale Concetti di base della computer grafica Oliviero Neglia Per grafica digitale intendiamo quell'insieme di processi che ci permettono di creare, modificare e visualizzare immagini attraverso

Dettagli

Università degli studi di Verona. Corso di Informatica di Base. Lezione 5 - Parte 2. Disegni e Immagini

Università degli studi di Verona. Corso di Informatica di Base. Lezione 5 - Parte 2. Disegni e Immagini Università degli studi di Verona Corso di Informatica di Base Lezione 5 - Parte 2 Disegni e Immagini In questa seconda parte ci occuperemo della gestione di disegni e immagini. In particolare vedremo come:

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Interesse, sconto, ratei e risconti

Interesse, sconto, ratei e risconti 129 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 129 129.1.1 Esercizio per il calcolo dell interesse semplice........................

Dettagli

Esempi di funzione. Scheda Tre

Esempi di funzione. Scheda Tre Scheda Tre Funzioni Consideriamo una legge f che associa ad un elemento di un insieme X al più un elemento di un insieme Y; diciamo che f è una funzione, X è l insieme di partenza e X l insieme di arrivo.

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008

Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008 Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008 Ultima revisione 13 novembre 2008 Nota: Le informazioni più aggiornate vengono prima pubblicate in inglese nella nota tecnica: 2179.html.

Dettagli

4. Proiezioni del piano e dello spazio

4. Proiezioni del piano e dello spazio 4. Proiezioni del piano e dello spazio La visualizzazione di oggetti tridimensionali richiede di ottenere una vista piana dell'oggetto. Questo avviene mediante una sequenza di operazioni. Innanzitutto,

Dettagli

Publishing & Editing Immagini

Publishing & Editing Immagini Publishing & Editing Immagini Un'immagine digitale è la rappresentazione numerica di una immagine bidimensionale. La rappresentazione può essere di tipo vettoriale oppure raster (altrimenti detta bitmap);

Dettagli

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R Studio di funzione Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R : allo scopo di determinarne le caratteristiche principali.

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE

Dettagli

idea+progetto servizi tempo=successo due

idea+progetto servizi tempo=successo due idea+progetto servizi tempo=successo due...realizzando il vostro successo cresciamo anche noi GRAFICHELEONE la stampa Profilo PDF per la Stampa in fase di progettazione... Abbondanze: Tutte le immagini

Dettagli