Computer Graphics La disciplina fornisce metodi per creare elaborare memorizzare visualizzare immagini di oggetti o scene mediante un computer
Image Processing La disciplina fornisce metodi per acquisire elaborare memorizzare visualizzare immagini tramite computer
Image Processing Si occupa di immagini acquisite tramite sensori (fotocamere digitali, telecamere) Computer Graphics Si occupa di immagini sintetizzate tramite modelli
CG ed Image Processing Computer graphics: disciplina che studia la rappresentazione pittorica di modelli di oggetti reali o immaginari basandosi sulla loro rappresentazione numerica Image processing: si occupa del problema inverso, cioè l analisi di scene a partire dalle loro immagini e la ricostruzione di modelli numerici che le descrivano
Immagine sintetica
Esempi di elaborazione di immagini
Obiettivi applicativi Migliorare la comunicazione uomo/macchina Interfacce utenti Sistemi multimediali Fornire strumenti di aiuto nel progetto (Computer Aided Design) Progetto di componenti meccaniche, elettroniche.. Progetto architettonico Fornire strumenti per la simulazione di processi Video games Volo Interventi chirurgici Visualizzazione scientifica
Obiettivi applicativi Fornire strumenti per l automazione di ufficio Produzione di documenti contenenti: testi, grafici 2D/3D, immagini, filmati. Fornire strumenti di aiuto nelle arti visive Scenografia Cinematografia digitale
Sistema grafico modello dell applicazione programma applicativo sistema grafico dispositivi di output dispositivi di input
Modello dell applicazione Modello dell applicazione Insieme dei dati utilizzati all interno dell applicazione: Es. geometria, immagini utilizzate come texture
Modello dell applicazione Il modello applicativo cattura tutti i dati e gli oggetti, insieme alle relazioni che intercorrono tra essi, rilevanti per i compiti di visualizzazione Dipende dall applicazione specifica, ed è creato in modo pressoché indipendente dal particolare dispositivo di display Memorizza degli oggetti della scena la descrizione geometrica 2d/3d mediante primitive grafiche (punti, linee, curve e poligoni, poliedri.), insieme ad attributi quali tipo di superficie, colore...)
Programma applicativo Modello dell applicazione Programma applicativo È scritto nel linguaggio di programmazione scelto da chi scrive l applicazione (C, C++, Python, Java ) utilizzando API (librerie specifiche) per grafica (X, Open-GL, DirectX, Java3D). Deve creare, memorizzare e recuperare gli oggetti grafici all interno del modello
Modellazione Il termine modellazione (modelling) include tutte le operazioni destinate alla creazione della scena da visualizzare: definizione della forma e della dimensione degli oggetti contenuti nella scena assegnazione di attributi (proprietà) a ciascun oggetto posizionamento delle sorgenti luminose movimenti degli oggetti all'interno della scena (animazione)
Rendering Per processo di rendering si intende l insieme di azioni che consentono di passare dalla rappresentazione geometrica (analitica) di un oggetto tridimensionale, così come descritta nel modello dell applicazione, ad una sua proiezione bidimensionale, influenzata dai parametri dell ambiente sintetico, sulla superficie di vista (una immagine digitale)
Fasi del processo di rendering Definizione del modello poligonale (triangoli) Trasformazioni di modellazione (unico spazio di riferimento) Definizione della vista Back-face culling e clipping sul volume di vista (eliminare tutto ciò che non si vede) Applicazione delle trasformazioni di vista e proiezione sul piano immagine Eliminazione delle superfici nascoste Rasterizzazione delle primitive geometriche (insiemi di pixel) Attribuzione di un colore ad ogni pixel attivo
Interattività Caratteristica fondamentale è l interattività: l utente può controllare le immagini presentate sul monitor mediante un dispositivo di input (tastiera alfanumerica, mouse, joystick..) Ad esempio l utente può modificare Dimensioni Colore Posizione Scala
Riferimenti bibliografici R Scateni, P Cignoni, C Montani e R Scopino Fondamenti di grafica tridimensionale interattiva McGraw-Hill 2005 D. Marini, M.Bertolo, A.Rizzi Comunicazione visiva digitale, Addison Wesley 2001 P.F.Whelan, D. Molloy Machine vision algorithms in Java, Springer Velag 2001 A. Watt, F. Policarpo The computer image, Addison Wesley 1998 http://medialab.di.unipi.it/web/ium/fondamenti