UNIVERSITÀ DEGLI STUDI DI SIENA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI SIENA"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Sviluppo di Algoritmi per Asservimenti Visivi Basati su Geometria Epipolare con Libreria Open Source Intel OpenCV Relatore Chiar.mo Prof. Ing. Domenico Prattichizzo Correlatore Ing. Gian Luca Mariottini Tesi di Laurea di Cristian Fontani A. A. 2003/2004 SESSIONE PRIMAVERILE

2 Ai miei genitori, Ai miei nonni, A tutte le persone che mi sono state vicine, e che continuano a restarmi accanto.

3 INDICE I INTRODUZIONE CAPITOLO 1. LA LIBRERIA INTEL OPENCV Installazione di OpenCV per piattaforme Windows Configurare Microsoft Visual C++ 6 per lavorare con OpenCV Panoramica sulle componenti di OpenCV Esempio applicativo Codice Completo dell Applicazione di Esempio 11 CAPITOLO 2. ELABORAZIONE DELL IMMAGINE- FILTRAGGIO DEL COLORE Immagini Digitali e Rappresentazione del Colore Gestione di Immagini a Più Canali in OpenCV Filtraggio del colore Esempio applicativo Codice Completo dell Applicazione di Esempio 23 CAPITOLO 3. INTERPRETAZIONE DELLA STRUTTURA DI UN IMMAGINE Edge e Corner in un immagine Elaborazione dei Contorni Individuazione dei Corner Esempio applicativo Codice Completo dell Applicazione di Esempio 38 CAPITOLO 4. ALGORITMI DI TRACKING L equazione di vincolo del flusso ottico La tecnica di Horn e Schunck La tecnica di Lucas e Kanade Metodi di Black Matching La tecnica di Lucas e Kanade con rappresentazione I

4 piramidale dell immagine Image Pyramids Implementazione dell algoritmo Esempio applicativo 54 CAPITOLO 5. STIMARE LA POSIZIONE DAL VINCOLO EPIPOLARE La Geometria Epipolare La Matrice Fondamentale Omografie e Metodi di Stima L Algoritmo dei Sei Punti Performance dell Algoritmo dei Sei Punti in Simulazione Implementazione dell Algoritmo in OpenCV 72 Appendice I. Strutture e Funzioni OpenCV 73 Appendice II Codice dell Applicazione Sviluppata 90 BIBLIOGRAFIA II

5 Introduzione L idea per questa tesi deriva dagli studi nel campo del visual servoing che si basano sui vincoli imposti dalla geometria epipolare effettuati dal mio correlatore, G.L. Mariottini. Quando mi presentai per discutere sulle possibilità di progetti di laurea mi mostrò un algoritmo di asservimento visivo per robot non-olonomi che egli stesso aveva formulato ([Mariottini04]), in collaborazione con il mio relatore, il Prof. D. Prattichizzo, ed un Professore dell Università di Roma La Sapienza, G. Oriolo. L algoritmo era già stato provato in simulazione e risultava essere robusto anche in presenza di rumore sui dati: adesso si doveva passare ai test effettuati nella realtà. Il mio compito, quindi, sarebbe stato quello di procurare i dati necessari per il funzionamento dell algoritmo attraverso lo sviluppo di un applicazione in grado di ottenere in tempo reale la stima della posizione orizzontale degli epipoli in una coppia di viste della stessa scena. Scartata l ipotesi di far svolgere questo compito a degli script di Matlab, facili da scrivere ma allo stesso tempo troppo lenti per garantire il real-time, l idea di utilizzare il C++ è nata dopo aver visionato il progetto che un gruppo di studenti aveva preparato per l esame di Robotica: per effettuare l elaborazione di un immagine in maniera efficace e rapida avevano usato solo poche semplici funzioni tratte da una libreria Open Source sviluppata dalla Intel: OpenCV. Essendo tale libreria composta da diverse centinaia di funzioni che implementano molti algoritmi di image processing e computer vision, la programmazione di un applicazione che effettuasse filtraggio del colore, estrazione dei contorni, individuazione dei corner e

6 successivo tracking dei punti di riferimenti individuati, non sarebbe risultata poi così difficile. Effettivamente la parte riguardante il procedimento descritto sopra, allo stadio di sviluppo raggiunto dalla applicazione da me creata, funziona in maniera egregia. Più difficoltosa si è dimostrata l implementazione di algoritmi di stima della geometria epipolare, tanto che, ad ora, la posizione degli epipoli non riesce ad essere sempre individuata in maniera esatta. Per quanto riguarda la struttura della tesi, si è dato il seguente schema: Il Capitolo 1 funge da presentazione del potente strumento per l elaborazione delle immagini e la computer vision che la libreria OpenCV rappresenta: nel Par. 1.1 viene descritta passo dopo passo la procedura di installazione su piattaforme Windows e nella Sez si spiega come sia possibile configurare l ambiente di sviluppo Microsoft Visual C++ 6 per poter iniziare a lavorare subito con le funzioni di OpenCV; nel par. 1.2 viene quindi svolta una panoramica sulle diverse parti che compongono la libreria, e sulla loro funzione all interno di essa; infine nel Par 1.3 viene fornito un piccolo esempio di primo contatto con le strutture e le funzioni base di OpenCV e il codice completo di questo esempio è riportato senza interruzioni nella Sez Nel Capitolo 2 si introducono i concetti di immagine e di colore, nonchè i termini che caratterizzano la rappresentazione digitale di un immagine: a questo argomento è infatti dedicato interamente il Par. 2.1, che contiene anche una breve parentesi sulla percezione umana; nel Par. 2.2 viene analizzato il modo in cui vengono trattate ed elaborate le immagini a colori in OpenCV, mentre nella Sez si da una descrizione dell algoritmo di filtraggio implementato nell applicazione sviluppata; il Capitolo 2 termina in maniera del tutto simile al Capitolo 1 con il Par 2.3 in cui si da la possibilità al lettore di sperimentare la parte dell applicazione che esegue il filtraggio del colore, riportando il codice necessario a creare una piccola applicazione stand-alone (anche qui il codice non frammentato da commenti sarà riportato nella Sez. finale del Capitolo, la 2.3.1). Il Capitolo 3 si apre con la definizione di Regione di Interesse e poi passa a descrivere le caratteristiche strutturali di un immagine: nel Par. 3.1 si parla infatti di ii

7 edge e corner; nel Par. 3.2 si spiega come si possono ricavare i contorni degli oggetti della scena in un immagine binaria; il Par. 3.3 riguarda poi l individuazione dei corner e presenta una descrizione dei principi su cui si basano solitamente gli algoritmi che svolgono tale compito; infine il Capitolo si chiude con il Par. 3.4, nel quale viene riportato il terzo esempio applicativo della tesi, che implementa le funzioni di selezione della Regione di Interesse e di individuazione dei corner in un flusso video acquisito indistintamente da telecamera o da file (comme d habitude il Paragrafo conterrà una Sezione in cui verrà fornito il codice completo dell applicazione appena descritta). Flusso ottico e Tracking: sono queste le parole chiave del Capitolo 4. In esso vengono descritte alcune tecniche di calcolo del flusso ottico, più precisamente, quelle che sono state implementate dagli autori di OpenCV. Nel Par 4.1 viene ricavata l equazione di vincolo del flusso ottico da considerazioni sulla distribuzione delle intensità su un immagine che varia nel tempo; nel Par. 4.2 viene descritta la prima tecnica di calcolo del flusso ottico, elaborata dagli stessi autori che formularono l equazione di vincolo, Horn e Schunck, dopodichè si andrà a descrivere i parametri della funzione che implementa tale tecnica nella libreria in esame; nel Par 4.3 si parlerà della tecnica di Lucas e Kanade, formulata più o meno nello stesso periodo della precedente, ed anche per questa viene effettuata una analisi della funzione che la implementa; nel Par 4.4 si passa alla descrizione di una tecnica di tracking che non si basa direttamente sull equazione del flusso ottico, ma su considerazioni di carattere diverso, e viene presa in esame la funzione corrispondente; anche per l algoritmo di Lucas e Kanade con rappresentazione piramidale dell immagine (Par 4.5) la funzione che lo implementa viene analizzata e commentata, nell applicazione di esempio nella Sez , ma ciò avviene solo dopo aver dato una definizione, nella Sez , di cosa si intenda con image pyramid ed aver descritto sommariamente la teoria che sta dietro questa tecnica, nella Sez L ultimo Capitolo, il numero 5, spiega come è possibile mettere in relazione le immagini di uno stesso punto nello spazio osservato da posizioni diverse: questa relazione, di tipo geometrico, definisce la geometria epipolare. Nel paragrafo 5.1 viene data una definizione rigorosa della geometria epipolare esistente in una iii

8 coppia di immagini, mentre nella Sez si definisce la matrice fondamentale F e si mostrano le sue proprietà; nella Sez si parla della matrice omografia H, la stima della quale è stata utilizzata per recuperare informazioni sul posizionamento nell applicazione sviluppata per la tesi, e dei suoi metodi di stima, appunto; infine nel Par. 5.2 viene descritto l Algoritmo dei Sei Punti e nelle Sez e vengono valutate le sue performance sia in simulazione che per dati reali, derivante dall implementazione effettuata mediante le funzioni di OpenCV. Chiudono la tesi due appendici: nella prima vi è un elenco delle funzioni di OpenCV che sono apparse più utili e che sono state utilizzate negli esempi riportati alla fine dei Capitoli, con relativa descrizione dettagliata dei parametri in ingresso e in uscita e funzionamento, derivata dalla traduzione in italiano del manuale presente nella distribuzione di OpenCV e arricchita da qualche appunto derivante dall esperienza personale; nella seconda è presente invece il codice completo dell applicazione sviluppata come scopo di questa tesi, codice che però viene fornito as is senza ulteriori commenti oltre quelli presenti direttamente all interno. Si consideri inoltre il fatto che l applicazione è ancora in corso di sviluppo. iv

9 Capitolo 1 La Libreria Intel OpenCV Per realizzare un applicazione che eseguisse in tempo reale complessi algoritmi di elaborazione dell immagine l utilizzo di un linguaggio interpretato come Matlab, che pur aveva dato ottimi risultati in progetti precedenti, è stata scartata in quanto la velocità di esecuzione di istruzioni che devono essere interpretate a run-time non può essere certamente paragonabile a quella che un linguaggio compilato possa fornire. Un ulteriore motivo che ha spinto verso la scelta del C++ come linguaggio più adatto allo scopo è stata l esistenza di una libreria di funzioni che fornisse un implementazione adeguata di molti algoritmi di elaborazione delle immagini e di visione: stiamo parlando della liberia open source sviluppata da Intel che va sotto il nome di OpenCV. All interno di questa libreria, che è giunta allo stadio di sviluppo di Beta 4, sono presenti alcune centinaia di funzioni C (più di trecento al momento) che forniscono un interfaccia di programmazione di medio-alto livello, nonchè numerose strutture dati utili ai fini della gestione di immagini e alla manipolazione di matrici. Uno dei punti di forza di OpenCV è il fatto di essere multipiattaforma: nata nel 1999 come libreria per sistemi basati su piattaforma Windows, trascorse poco tempo prima che, nel 2000, venisse effettuato un porting del codice per piattaforme Linux. Ad oggi le due versioni procedono di pari passo, con lievissime differenze, assicurando così la portabilità del codice da un sistema operativo all altro. Un altro vantaggio di questa libreria è sicuramente dato dall essere open source. Questo assicura infatti un costante miglioramento nell implementazione, in quanto potenzialmente chiunque voglia dare un contributo eliminando bug, aggiungendo nuove

10 funzioni, implementando algoritmi di nuova concezione può farlo, scrivendo nuovo codice o correggendo quello esistente, sempre però soddisfacendo certi canoni imposti dagli sviluppatori originari del progetto: basta guardare il ChangeLog presente nella documentazione fornita con la libreria stessa per capire quanti e quali mutamenti essa ha subito dalla sua nascita nel 1999 alla sua ultima versione, nel 2004, e ad opera di quanti programmatori. Infine, ma non per questo meno importante, bisogna ricordare che OpenCV è nata dalla sezione di ricerca della Intel, dunque le applicazioni che fanno uso dell interfaccia di programmazione da essa fornita sono ottimizzate per processori Pentium, in quanto possono sfruttare le Integrated Performance Primitives (IPP), librerie prodotte da Intel che hanno lo scopo di ottimizzare le applicazioni multimediali. Ciò detto riguardo alle motivazioni che hanno condotto alla scelta di questa libreria per lo sviluppo dell applicazione, possiamo passare a descrivere la procedura di installazione di OpenCV su computer che utilizzano il sistema operativo Windows. Ricordiamo che tale sistema operativo è quello prescelto per lo sviluppo dell applicazione scopo della tesi. 2

11 1.1 Installazione di OpenCV per piattaforme Windows La libreria è disponibile gratuitamente per il download dal sito Sourceforge ( Il sito si propone come una vera e propria miniera d oro online: con quasi cento mila progetti ospitati è il più grande sito web al mondo per lo sviluppo di software Open Source. L url esatto è : dalla pagina iniziale si può facilmente arrivare alla sezione files, in cui è possibile trovare, oltre all ultima versione della libreria, anche tutte le versioni precedenti (per Windows, piuttosto che per Linux) e alcuni file di documentazioni e tutorial. La versione Beta 4 per Windows viene fornita sotto forma di un unico file eseguibile, di dimensione 12,7 Mb, contenente i file sorgenti e i compilati della libreria, la documentazione aggiornata in formato HTML, il manuale della versione Beta 2 in formato PDF (in esso sono descritti in maniera dettagliata gli algoritmi implementati, ma non può essere preso in considerazione riguardo alle definizioni delle funzioni), il codice sorgente e gli eseguibili di numerosi esempi. Aprendo l eseguibile viene avviato un setup wizard in lingua inglese. Il setup sarà di seguito descritto nella sua interezza: in figura 1.1 vengono mostrati i sei passi necessari all installazione della libreria. (b) (a) 3

12 (c) (d) (e) (f) Figura : i vari passi del processo di Setup della release Beta 4 di OpenCV Cliccando con il tasto sinistro del mouse su Next > verrà mostrato il license agreement, che dovremo accettare per poter proseguire; dopodichè viene data la possibilità di selezionare un altra cartella in cui installare la libreria, se si preferisce a quella di default; a questo punto bisogna selezionare la cartella in cui creare un collegamento nel menu di avvio, sempre se si preferisce a quella di default; viene dunque richiesto se si vuole aggiungere le DLL di OpenCV a quelle di sistema, opzione che è preferibile selezionare, se non si vuole dover aggiungere le DLL nella directory di ogni applicazione creata; infine viene mostrata una schermata di riepilogo delle scelte effettuate e, nel caso non se ne voglia cambiare alcuna, si può avviare l installazione premendo sul bottone Install. Nella cartella del menu di avvio selezionata durante il setup wizard, possiamo adesso trovare collegamenti al file HTML di documentazione, a workspace per diverse IDE (Microsoft Visual C++ 6 oppure.net, Borland C++ BuilderX) ed a una cartella di applicazioni di esempio chiamata samples. 4

13 1.1.1 Configurare Microsoft Visual C++ 6 per lavorare con OpenCV Nel caso si disponga dell applicazione Microsoft Visual C++ 6 installata nel proprio sistema, cliccando sul collegamento OpenCV Workspace MSVC6 nella cartella del menu di avvio decisa durante il setup, il workspace verrà aperto nell ambiente Visual C++ 6. A questo punto è necessario impostare dei settaggi per essere in grado di utilizzare la libreria nelle applicazioni da noi create: selezionando l opzione Options del menu Tools, si aprirà una finestra in cui avremo la possibilità di scegliere alcune opzioni generali. Si clicchi ora sul tab Directories nella parte alta della finestra Options: nel menu a tendina che sta sotto la scritta Show directories for: dovrebbe essere selezionata la voce Include files; se così non fosse, selezionarla. Adesso se si seleziona l ultima voce (quella vuota) all interno della sotto-finestra Directories e si preme sull icona indicata dalla freccia in figura 1.2 sarà possibile navigare nelle cartelle del sistema: si selezionino <...>\OPENCV\CV\INCLUDE, <...>\OPENCV\CXCORE\INCLUDE e <...>\OPENCV\OTHERLIBS\HIGHGUI (dove con <...> si indica la cartella in cui è stata installata la libreria OpenCV) ripetendo per tre volte il procedimento di click sull icona e browse delle cartelle. Se vogliamo avere la possibilità di utilizzare telecamere che acquisiscano in formato DirectShow dovremmo effettuare la procedura sopra descritta anche per la cartella <...>\OPENCV\OTHERLIBS\CVCAM : è comunque sconsigliato l utilizzo delle funzioni definite in cvcam in quanto verranno eliminate nella prossima versione per Windows della libreria, mentre nell ultima versione Linux l eliminazione è già avvenuta. Nel menu a tendina dove prima avevamo selezionato la voce Include files è necessario selezionare adesso la voce Library files, selezionare l ultima riga vuota nella sotto-finestra Directories e dopo aver cliccato sulla solita icona navigare fra le cartelle alla ricerca di <...>\OPENCV\LIB. 5

14 (a) (b) Figura : configurazione di OpenCV in ambiente Microsoft Visual C++ 6 Fatto ciò possiamo chiudere la finestra Options selezionando il tasto OK. A questo punto, per poter utilizzare tutte le funzioni offerte da OpenCV all interno di un applicazione basta solo un ulteriore passo: ogni volta che si crea un nuovo progetto di qualunque tipo, si vada a selezionare l opzione Settings dal menu Project. Nella finestra Project Settings che apparirà, si selezioni All Configuration nel menu a tendina in alto a sinistra, si selezioni il progetto creato e si clicchi sul tab Link in alto a destra; si scelga poi (nel caso non fosse già selezionata) la voce General nel menu a tendina etichettato come Category e infine si inseriscano cv.lib cxcore.lib e highgui.lib come mostrato in figura 1.3 nella casella indicata dalla freccia. Figura : inserimento dei file.lib nei settaggi del progetto Il progetto è finalmente pronto per produrre un applicazione che faccia uso delle funzioni di OpenCV. 6

15 1.2 Panoramica sulle Componenti di OpenCV Una volta installato il pacchetto fornito dagli sviluppatori di OpenCV e predisposto l ambiente di lavoro, si può iniziare a lavorare con le funzioni offerte: a tale scopo viene di seguito svolta una panoramica sulla struttura della libreria. La release Beta 4 della libreria si presenta suddivisa in tre parti principali, a cui si aggiungono due secondarie: nella parte che fa capo al file header <cv.h> sono presenti esclusivamente funzioni che implementano algoritmi di image processing e computer vision; nella parte chiamata CXCORE, il cui header è <cxcore.h>, vengono definiti tipi composti e funzioni che sono utilizzati per funzionalità di base, quali ad esempio strutture di tipo immagine o matrice, funzioni per la manipolazione di vettori o che regolano la gestione della memoria; il terzo ed ultimo blocco principale, che è utilizzabile all interno delle applicazioni create fornendo al preprocessore la direttiva di inclusione del file <highgui.h>, gestisce, come si può intuire dal nome stesso, l interfaccia grafica di alto livello, e ci permette di caricare o salvare immagini e filmati, acquisire flusso video da una telecamera, oppure di creare finestre per la visualizzazione su schermo delle immagini. la due parti secondarie, le cui funzioni e strutture sono definite in <cvcam.h> e <cvaux.h>, vengono fornite per l inclusione in applicazioni sviluppate utilizzando le versioni precedenti di OpenCV, in quanto al loro interno sono contenute funzioni provenienti da tali versioni ma ritenute obsolete (CVAUX) o, come già detto nel paragrafo precedente, di prossima eliminazione (CVCAM). Non verranno in questa sede fornite ulteriori informazioni su CVCAM e CVAUX (si vedano a tale scopo il manuale in PDF e il file in formato Rich Text Format cvcam.rtf presenti nella cartella docs di OpenCV) per le motivazioni già provviste, ma si darà un esempio di una semplice applicazione di elaborazione dell immagine che faccia uso di strutture e funzioni presenti in CXCORE, CV e HighGUI. 7

16 1.3 Esempio Applicativo Una nota importante prima di cominciare: tutte le funzioni OpenCV hanno un prefisso comune che aiuta a distinguerle da funzioni di altre librerie, il prefisso cv-. Da questo momento in poi quando ci si vorrà riferire ad una funzione di OpenCV in sezioni di testo che non riguardano definizione di funzioni o esempi di codice, il prefisso cv- verrà omesso. Detto ciò, passiamo alla creazione dell applicazione: una volta aperto un progetto di tipo applicazione da console e creato una nuova applicazione vuota nel workspace di OpenCV (o in un altro workspace) dovremo inserire i file.lib nei settings del progetto, come descritto nel paragrafo Dopodichè dobbiamo aggiungere un file sorgente di tipo cpp al nostro progetto: per ognuno degli esempi presenti in questa tesi avremo bisogno di un solo file sorgente. Diamo al file un nome tipo firstapp.cpp, per ricordare che si tratta della nostra prima applicazione e apriamolo nell editor fornito dal Visual C++ 6. Il primo passo sarà quello di inserire le direttive del preprocessore che indicano al linker il luogo in cui andare a cercare le funzioni e i tipi di dati complessi utilizzati nell applicazione /* mediante le direttive del preprocessore si includono i tre file header cxcore, cv e highgui */ #include <cxcore.h> #include <cv.h> #include <highgui.h> Adesso è il momento di iniziare a scrivere la funzione principale dell applicazione, il main. Definiamo e inizializziamo dei valori interi che ci serviranno in seguito: la variabile i, da usare in un ciclo for; la dimensione dell ampiezza dell immagine che vogliamo creare, width, dandole un valore di 512; la variabile height, che definisce l altezza dell immagine, che poniamo uguale a width. Dopodichè iniziamo a prendere confidenza con la struttura che definisce le immagini in OpenCV, ovvero IplImage: dato che nella maggior parte delle funzioni quello che viene richiesto in ingresso e restituito in output sono puntatori a questo tipo di struttura, conviene definire direttamente puntatori a IplImage anzichè strutture dati. Per la nostra semplice applicazione ne serviranno due: original e processed /* si entra nella funzione principale */ 8

17 void main() /* si definisce ed inizializza un iteratore a zero */ int i = 0; /* si pone l'ampiezza che verrà assegnata all'immagine pari a 512 e l'altezza dell'immagine pari all'ampiezza */ int width = 512; int height = width; /* si definiscono le strutture che conterranno le immagini */ IplImage* original, *processed; Per allocare lo spazio necessario a contenere un immagine, conoscendone la dimensione, la profondità dei pixel in bit e il numero dei canale dobbiamo utilizzare la funzione CreateImage, invocando il costruttore di CvSize per definirne la dimensione in pixel. Creiamo così original, che avrà dimensioni 512 per 512 pixel, una profondità di 8-bit e un solo canale: sarà così un immagine in scala di grigio. Per creare l altra immagine, processed, che dovrà contenere una copia della prima elaborata da una funzione di CV, ne definiamo la dimensione con la funzione GetSize passandole in ingresso original, dopodichè poniamo a zero tutti gli elementi dell immagine original mediante la funzione SetZero /* si alloca lo spazio per entrambe le strutture */ original = cvcreateimage( cvsize(width, height), IPL_DEPTH_8U, 1 ); processed = cvcreateimage( cvgetsize(original), IPL_DEPTH_8U, 1 ); /* i dati presenti nella memoria che contiene original vengono cancellati */ cvsetzero( original ); A questo punto creiamo un immagine particolare utilizzando le funzioni di disegno presenti in CXCORE: un numero di cerchi concentrici che variano tonalità di grigio in funzione della loro distanza dal centro immagine, in modo tale da dare l illusione di una superficie sferica. Per fare ciò utilizzeremo la funzione Circle all interno di un ciclo for, imponendo che il centro dei cerchi sia sempre il centro immagine, definito dal costruttore di CvPoint, che il raggio vari tra width e 0, e che il colore sia dato da un CvScalar ad un solo valore, pari al troncamento di i/2. Naturalmente la serie di cerchi dovrà essere tracciata sull immagine originale /* partendo da 0 fino ad arrivare a width... */ 9

18 for ( i=0; i < width; i++ ) /* si disegna su original un cerchio di raggio width-i e di intensità di grigio pari a floor(i/2) */ cvcircle( original, cvpoint( width/2, height/2), width - i, cvrealscalar( floor(i/2)), -1, 8, 0); Adesso è giunto il momento di utilizzare anche due funzioni di HighGUI, ossia NamedWindow per creare una finestra con intestazione Immagine Originale che si autodimensiona secondo le dimensioni dell immagine che contiene, e ShowImage, per mostrare original nella finestra appena creata /* viene qua creata una finestra e l'immagine original viene mostrata in essa */ cvnamedwindow( "Immagine Originale", CV_WINDOW_AUTOSIZE ); cvshowimage( "Immagine Originale", original ); Per elaborare l immagine, abbiamo scelto una funzione di CV che sarà utilizzata anche in seguito, nel capitolo sul filtraggio del colore: la funzione Dilate. Essa agirà sull immagine original, effettuando 100 iterazioni dell algoritmo di dilatazione dell immagine, inserendo poi il risultato in processed. Infine verrà creata un altra finestra, con intestazione Immagine Elaborata e processed verrà mostrata in essa. Risultato: i nostri cerchi sono diventati dei rettangoli (Figura 2.4)! /* viene elaborata l'immagine */ cvdilate( original, processed, NULL, 100 ); /* si crea una nuova finestra e l'immagine elaborata viene mostrata in essa */ cvnamedwindow( "elaborata", CV_WINDOW_AUTOSIZE ); cvshowimage( "elaborata", processed ); Infine, mediante la funzione WaitKey si imporrà all applicazione di rimanere attiva fintantochè non viene premuto un tasto qualsiasi. Appena viene premuto un tasto, prima di terminare l applicazione, è buona norma eliminare le finestre che si sono create e deallocare la memoria utilizzata per contenere le immagini: questi due compiti sono svolti dalle funzioni DestroyAllWindows e ReleaseImage /* l'applicazione attende la pressione di un tasto qualsiasi per terminare */ 10

19 cvwaitkey(); /* prima di terminare, vengono eliminate tutte le finestre create */ cvdestroyallwindows(); // viene rilasciato l'header e la memoria occupata da original e da processed */ cvreleaseimage( &original ); cvreleaseimage( &processed ); (a) (b) Figura : risultato dell esecuzione dell applicazione. In (a) si può vedere l immagine creata mediante le funzioni di disegno di CXCORE, in (b) l immagine elaborata con funzioni di CV Codice Completo dell Applicazione di Esempio Per comodità dell utente, riportiamo di seguito in maniera continua il codice dell applicazione di esempio appena descritta /* mediante le direttive del preprocessore si includono i tre file header cxcore, cv e highgui */ #include <cxcore.h> #include <cv.h> #include <highgui.h> /* si entra nella funzione principale */ void main() /* si definisce ed inizializza un iteratore a zero */ int i = 0; /* si pone l'ampiezza che verrà assegnata all'immagine pari a 512 e l'altezza dell'immagine pari all'ampiezza */ 11

20 int width = 512; int height = width; /* si definiscono le strutture che conterranno le immagini */ IplImage* original, *processed; /* si alloca lo spazio per entrambe le strutture */ original = cvcreateimage( cvsize(width, height), IPL_DEPTH_8U, 1 ); processed = cvcreateimage( cvgetsize(original), IPL_DEPTH_8U, 1 ); /* i dati presenti nella memoria che contiene original vengono cancellati */ cvsetzero( original ); /* partendo da 0 fino ad arrivare a width... */ for ( i=0; i < width; i++ ) /* si disegna su original un cerchio di raggio width-i e di intensità di grigio pari a floor(i/2) */ cvcircle( original, cvpoint( width/2, height/2), width - i, cvrealscalar( floor(i/2)), -1, 8, 0); /* viene qua creata una finestra e l'immagine original viene mostrata in essa */ cvnamedwindow( "Immagine Originale", CV_WINDOW_AUTOSIZE ); cvshowimage( "Immagine Originale", original ); /* viene elaborata l'immagine */ cvdilate( original, processed, NULL, 100 ); /* si crea una nuova finestra e l'immagine elaborata viene mostrata in essa */ cvnamedwindow( "elaborata", CV_WINDOW_AUTOSIZE ); cvshowimage( "elaborata", processed ); /* l'applicazione attende la pressione di un tasto qualsiasi per terminare */ cvwaitkey(); /* prima di terminare, vengono eliminate tutte le finestre create */ cvdestroyallwindows(); // viene rilasciato l'header e la memoria occupata da original e da processed */ cvreleaseimage( &original ); cvreleaseimage( &processed ); 12

21 Capitolo 2 Elaborazione dell Immagine - Filtraggio del Colore Nei capitoli precedenti abbiamo usato termini quali immagine, colore, pixel e profondità pur non avendo dato una definizione rigorosa di questi concetti: per i primi due abbiamo dato per scontato che il lettore ne avesse un idea, basata sulla percezione del mondo mediante il senso della vista, mentre per i restanti si è supposto, con la diffusione capillare che hanno assunto i personal computer e le periferiche di imaging digitale (fotocamere o videocamere), che i concetti fossero almeno intuitivamente familiari. Ma come viene rappresentata un immagine digitale, e qual è la rappresentazione del concetto astratto di colore che può avere un PC, che per ragioni intrinseche è costretto ad una rappresentazione binaria di qualsiasi dato debba elaborare? Per rispondere a queste domande sarà necessario quindi dare una definizione leggermente più rigorosa dei concetti citati in apertura di capitolo, prima di avventurarci nella creazione di una nuova applicazione esemplificativa di un algoritmo di filtraggio del colore.

22 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore 2.1 Immagini Digitali e Rappresentazione del Colore In questo paragrafo si cercherà di dare un idea di come funzioni la digitalizzazione di un immagine, ovvero la trasformazione di un immagine analogica in una copia digitale, e di come sia possibile rappresentare il colore tramite sequenze di 0 e 1. I concetti di immagine e colore sono, anche intuitivamente, legati in maniera indissolubile: daremo quindi la definizione di immagine come una distribuzione spaziale bidimensionale di energia, nella quale ogni singolo punto ha un certo colore, ossia il valore di intensità della radiazione elettromagnetica che tale punto emette, a frequenze che giacciono nel campo del visibile (ma in teoria, anche nel campo dell infrarosso o dell ultravioletto). Per ottenere da un immagine analogica, per sua natura continua su un dominio bidimensionale continuo, ossia una distribuzione su un dominio a due dimensioni discreto ed a valori discreti, è necessario quindi effettuare due passi principali: il primo, mediante il quale si ottiene una discretizzazione dello spazio, consiste nel suddividere l immagine originale in un numero intero e limitato di elementi, che verranno definiti pixel (acronimo di picture elements); con il secondo viene invece discretizzato l intervallo su cui può variare l intensità irradiata da ogni punto dell immagine, suddividendolo in livelli di energia con un processo definito quantizzazione. Mediante la quantizzazione, si stabilisce la profondità dei pixel, ossia quanti valori diversi potrà assumere un elemento e si definisce la quantità di bit necessari per descrivere l intero intervallo di valori: ad esempio un intero ad 8-bit, potendo assumere 2 8 valori diversi descriverà una quantizzazione (detta semplice) in 2 8 livelli, e così via per interi a 16-bit e numeri in virgola mobile a 32 o 64-bit. Il processo completo di suddivisione dell immagine e quantizzazione dell energia è definito digitalizzazione. L effetto dell applicazione di tale processo ad un immagine viene mostrato in Figura 2.1 (a) 14

23 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore (b) (c) Figura 2.1: Effetto della digitalizzazione di un immagine. L immagine originale è mostrata in (a); in (b) si può vedere la discretizzazione dello spazio in n m = elementi; infine in (c) si ha il risultato finale, ottenuto suddividendo in livelli l intervallo di valori dell immagine. All immagine originale, mostrata in Figura 2.1.(a), viene sovrapposto un reticolo con n righe e m colonne (in questo esempio, come mostrato in Figura 2.1.(b), n=m=32), dopodichè si assegna all elemento il valor medio dell energia presente al suo interno, arrotondato all intero superiore ( Figura 2.1.(c)). L esempio nella figura 2.1 mostra un immagine a tonalità di grigio: è lecito chiedersi se quanto detto in precedenza valga anche se vogliamo digitalizzare un immagine a colori. La risposta a questa domanda è sì, ma per dimostrare ciò dobbiamo definire i concetti di rappresentazione tricromica e di spazi di colore. Nello studio del fenomeno della percezione, dall analisi della struttura della retina umana, è stato scoperto che essa è formata da due tipi diversi di cellule recettrici, che prendono il nome dalla loro forma: i coni sono responsabili della visione in condizioni di elevata luminosità ma in particolar modo della percezione dei colori, mentre i bastoncelli, molto più sensibili dei coni, sono preposti alla visione a bassa luminosità. I bastoncelli non sono sensibili al colore: questo spiega in parte perchè quando ci troviamo in un ambiente scarsamente illuminato gli oggetti ci appaiono di tonalità diverse di grigio, anche se sono colorati. I coni si dividono in tre diversi tipi, ognuno responsabile della percezione di un solo colore rosso, verde e blu. La stimolazione simultanea di coni appartenenti a due diversi tipi produce la sensazione di colori diversi da quelli sopracitati, che vengono definiti fondamentali. 15

24 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore Da queste considerazioni, di carattere fisiologico, emerge quindi la rappresentazione tricromica del colore: ogni colore presente in natura è dato dalla composizione dei tre colori fondamentali, rosso, verde e blu. Quindi qualsiasi colore può essere sintetizzato sommando componenti di luce alle frequenze dei tre colori fondamentali: in questo caso si parla di sintesi additiva, in quanto il numero delle componenti cromatiche che raggiungono l occhio aumenta. In Figura 2.2 viene mostrata questo tipo di sintesi dei colori: è interessante notare come la somma dei colori fondamentali dia origine al bianco. Figura 2.2: Sintesi additiva dei colori Infine, allo scopo di rappresentare i colori sulla base di variabili numeriche, dobbiamo definire un sistema denominato spazio di colore: il nome deriva dal fatto di poter rappresentare tali variabili in un sistema di assi cartesiani, in modo da ottenere una rappresentazione spaziale dei colori. Lo spazio di colori più utilizzato è il sistema tricromico indicato dalla sigla RGB, acronimo di Red (rosso) Green (verde) Blue (blu), in quanto ricalca il comportamento dei recettori della retina agli stimoli luminosi basato sulla percentuale di coni eccitati per ciascun colore primario. In Figura 2.3 troviamo una rappresentazione di tale sistema come un cubo, le cui coordinate rappresentano rispettivamente la percentuale di rosso, verde e blu presente nel colore associato ad ogni punto interno al cubo. 16

25 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore Figura 2.3: Rappresentazione dello spazio di colore RGB Dunque per ogni pixel di un immagine a colori il valore associato ad esso può essere rappresentato mediante tre valori, corrispondenti alle tre coordinate di un punto appartenente allo spazio RGB: in questo caso si dice che l immagine ha tre canali. Esistono molti altri spazi di colore: è doveroso citare lo spazio HSV, che definendo il colore in base ai tre valori di Hue (tonalità) Saturation (purezza del colore) e Value (intensità luminosa), trova largo utilizzo nelle applicazioni informatiche, e lo spazio CMYK, a quattro dimensioni definito dai colori ciano (Cyan), Magenta, giallo (Yellow) e nero (Black), utilizzato principalmente per la stampa a colori (stampa in quadricromia) che sintetizza il colore in maniera sottrattiva. 17

26 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore 2.2 Gestione di Immagini a Più Canali in OpenCV Come detto nel capitolo precedente, un immagine a colori è composta da un numero di canali pari alla dimensione dello spazio di colore in cui è definita. OpenCV definisce numerosi spazi di colore e permette di passare da uno all altro con l uso della funzione CvtColor, ma la rappresentazione di base di un immagine a colori è data nello spazio BGR, ottenuto da RGB mediante una permutazione dei due assi corrispondenti a blu e rosso. E necessario tener conto di questa differente disposizione degli assi dello spazio di colore, in quanto in tutte le funzioni che permettono la gestione dei diversi canali di un immagine a colori se vogliamo lavorare sui valori del rosso dovremo riferirci al terzo e non al primo canale, come verrebbe più naturale pensare. Per fortuna gli sviluppatori hanno pensato ad un modo per ovviare a questo inconveniente definendo una macro del preprocessore, CV_RGB, che servisse a definire un valore di colore nel familiare spazio RGB. Fatte queste doverose premesse, andiamo ad analizzare la tecnica di filtraggio implementata nell applicazione scopo della tesi e presente nell Appendice II, prima di passare ad un esempio che svolga un compito simile per un flusso video acquisito da un file AVI Filtraggio del Colore Per rendere possibile la selezione dei punti di riferimento in una specifica area, nel nostro caso all interno di pannelli con cornice colorata (Figura 3.4) e non avendo altre informazioni sulla conformazione della scena, è stato necessario implementare un algoritmo di filtraggio per escludere lo sfondo ed ottenere un immagine in cui fosse presente solo la cornice dei pannelli. Alla selezione da parte dell utente, effettuata con click and drag del mouse sulla finestra in cui è mostrato il flusso video, di gruppi di pixel su cui calcolare media e deviazione standard del colore nei tre canali BGR, segue un esclusione di tutti i valori di colore nell immagine che giacciono al di fuori di una finestra definita da (media n*deviazione_standard, media + n*deviazione_standard), con n fissato e diverso per ogni canale: in sostanza, è stato implementato un filtro passa-banda. 18

27 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore L immagine binaria ottenuta da tale filtraggio è stata poi utile per andare a selezionare il contorno interno dei singoli pannelli in automatico, e quindi rendere il processo successivo di estrazione delle feature completamente indipendente dall utente. E giunto il momento di passare ad applicare le funzioni che ci hanno permesso di eseguire quanto descritto in questa sezione. 2.3 Esempio Applicativo L applicazione che andremo a creare in questa sezione si baserà sullo stesso algoritmo di filtraggio di cui si è parlato nella sezione precedente, ma poichè non è così semplice inserire la possibilità di selezionare gruppi di pixel con il mouse in quanto devono essere gestiti gli eventi di pressione e rilascio dei tasti dello stesso, la media nei rispettivi canali e la deviazione standard saranno gestibili dall utente mediante alcune trackbar inserite nella finestra di visualizzazione del flusso video. Inoltre il flusso video non sarà acquisito in tempo reale da una telecamera, bensì sarà acquisito dal file test.avi, che mostra la scena in cui è stata testata l applicazione. Dopo aver aperto il workspace di OpenCV, quindi, si vada a aprire un nuovo progetto di applicazione da console, e in seguito si aggiunga ai file sorgenti un nuovo file, chiamato color_filter.cpp, che verrà aperto nella finestra dell editor. E d obbligo all inizio del file dichiarare i file header che si vorranno includere mediante la direttiva #include: i tre file header saranno <cv.h>, <cxcore.h>, <highgui.h>. Dato che l applicazione consterà di un solo file, che avrà al suo interno una sola funzione potremo definire le strutture come globali, senza rischiare accessi indesiderati da parte di altre funzioni esterne: ci serviranno tre puntatori a IplImage e un puntatore ad una struttura di tipo CvCapture, che può contenere un flusso video acquisito da telecamera o da file AVI /* vengono inserite le direttive di inclusione dei file header che utilizzerà il linker */ #include <cv.h> #include <cxcore.h> #include <highgui.h> /* si definiscono tre puntatori a IplImage */ IplImage* frame, *original, *processed; /* si definisce un puntatore a CvCapture */ CvCapture* capture; 19

28 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore Si può entrare adesso nel corpo del main: la prima cosa da fare è definire e dichiarare degli interi che rappresenteranno media e deviazione standard nei tre colori fondamentali, rosso, verde e blu. All inizio questi valori sono tali da filtrare solamente il pannello rosso nel filmato fornito void main() /* si inizia la programmazione della funzione principale */ /* si definiscono e inizializzano media e deviazione standard nei tre canali ai valori necessari per filtrare solamente il pannello rosso */ int red_avg = 189; int red_std_dev = 37; int green_avg = 46; int green_std_dev = 36; int blue_avg = 66; int blue_std_dev = 49; Il file video test.avi viene aperto mediante la funzione CaptureFromFile, e si entra nel ciclo, indefinito, di acquisizione che avrà termine solamente alla pressione del tasto esc. Per ogni ripetizione del ciclo, il fotogramma corrente del flusso video viene posto nella struttura immagine puntata da frame /* il file video da elaborare viene aperto */ capture = cvcapturefromfile( "test.avi" ); /* finchè non viene premuto il tasto esc... */ for(;;) /* in frame viene inserito il fotogramma attuale */ frame = cvqueryframe( capture ); /* se frame punta a NULL, ossia se il filmato è finito */ if (!frame ) break; Dopodichè si controlla che original non punti a una posizione di memoria vuota: se così fosse, viene allocato lo spazio per essa e per processed con CreateImage, dopodichè i sistemi di riferimento di original e processed vengono eguagliati a quello di frame, per evitare spiacevoli inconvenienti di ribaltamento dell immagine /* se original punta a NULL */ if (!original ) /* viene creata l'immagine original con stesse dimensioni di frame, 3 canali e 20

29 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore profondità di colore pari a 8-bit */ original = cvcreateimage( cvgetsize( frame ), IPL_DEPTH_8U, 3 ); /* si crea anche l'immagine processed, con stesse caratteristiche di original ma un numero di canali pari a 1 ( immagine in scala di grigio ) */ processed = cvcreateimage( cvgetsize( frame ), IPL_DEPTH_8U, 1 ); /* il sistema di riferimento delle due immagini è preso uguale a quello di frame */ original->origin = frame->origin; processed->origin = frame->origin; A questo punto il fotogramma attuale contenuto in frame viene copiato così com è in original usando la funzione Copy e prima di iniziare l elaborazione vengono create una finestra di intestazione Flusso Video non ridimensionabile mediante NamedWindow e sei trackbar, ognuna preposta al controllo di una variabile tra quelle definite all inizio per contenere i valori di media e deviazione standard, utilizzando CreateTrackbar: adesso i fotogrammi dello stream possono essere visualizzati nella finestra Flusso Video con la funzione ShowImage /* il fotogramma attuale viene copiato in original */ cvcopy( frame, original ); /* viene creata una finestra che si adatta alle dimensioni dell'immagine con etichetta "Flusso Video" */ cvnamedwindow( "Flusso Video", CV_WINDOW_AUTOSIZE ); cvcreatetrackbar( "media R", "Flusso Video", &red_avg, 255, NULL ); cvcreatetrackbar( "dev.standard R", "Flusso Video", &red_std_dev, 50, NULL ); cvcreatetrackbar( "media G", "Flusso Video", &green_avg, 255, NULL ); cvcreatetrackbar( "dev.standard G", "Flusso Video", &blue_std_dev, 50, NULL ); cvcreatetrackbar( "media B", "Flusso Video", &green_std_dev, 255, NULL ); cvcreatetrackbar( "dev.standard B", "Flusso Video", &blue_std_dev, 50, NULL ); /* original viene mostrata all'interno di "Flusso Video" */ cvshowimage( "Flusso Video", original ); L immagine verrà ora elaborata attraverso la funzione InRangeS, che confronta i valori di original con quelli definiti mediante due macro CV_RGB con parametri rispettivamente media deviazione standard e media + deviazione standard nei tre canali dell immagine: se un pixel di original sta fra i due limiti superiore e inferiore dati dai CvScalar definiti poc anzi, il pixel alle stesse coordinate dell immagine processed, che diventerà così un immagine binaria, viene posto ad uno, altrimenti viene posto a zero 21

30 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore /* se il valore di un pixel nell'immagine sta fra i CvScalar definiti dalla macro CV_RGB, il pixel corrispondente nell'immagine binaria processed viene posto a 1, a zero altrimenti */ cvinranges( original, CV_RGB( red_avg - red_std_dev, green_avg - green_std_dev, blue_avg - blue_std_dev ), CV_RGB( red_avg + red_std_dev, green_avg + green_std_dev, blue_avg + blue_std_dev ), processed ); Infine viene creata un altra finestra di intestazione Flusso Video Elaborato e l immagine processed è mostrata in essa. Il ciclo, come si è detto, termina quando da tastiera viene premuto il tasto corrispondente a 27 in codice ASCII, ovvero il tasto esc : WaitKey si preoccupa di controllare ogni 5 millisecondi se il tasto viene premuto o meno /* viene creata un'altra finestra, non dimensionabile, con etichetta "Flusso Video Elaborato" */ cvnamedwindow( "Flusso Video Elaborato", CV_WINDOW_AUTOSIZE ); /* l'immagine processed viene mostrata nella finestra appena creata */ cvshowimage( "Flusso Video Elaborato", processed ); /* se viene premuto il tasto "esc" si interrompe il ciclo */ if ( cvwaitkey(5) == 27) break; Prima di uscire dall applicazione si distruggono tutte le finestre create con DestroyAllWindows, si rilascia la memoria occupata dalla struttura CvCapture capture mediante ReleaseCapture e quella occupata dalle immagini original e processed, utilizzando ReleaseImage /* prima di terminare l'applicazione, vengono eliminate tutte le finestre... */ cvdestroyallwindows(); /* viene rilasciata la struttura di acquisizione video capture... */ cvreleasecapture( &capture ); /* e vengono rilasciate le strutture immagine original e processed */ cvreleaseimage( &original ); cvreleaseimage( &processed ); 22

31 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore In Figura 2.4 vengono riportate le due finestre create dall applicazione che abbiamo programmato, in cui sono mostrati l originale e l elaborazione di un fotogramma del flusso video. Si veda come, con i valori forniti, viene filtrata solamente la cornice del pannello rosso. Agendo sulle trackbar si potranno cercare anche i valori medi e di deviazione standard che permetteranno il filtraggio delle altre cornici. (a) Figura 2.4: L applicazione di filtraggio del colore in azione. In (a) è presente il fotogramma corrente del flusso video acquisito dal file, in (b) il filtraggio nel rosso dello stesso frame. (b) Codice Completo dell Applicazione di Esempio Per comodità dell utente, riportiamo di seguito in maniera continua il codice dell applicazione di esempio appena descritta /* vengono inserite le direttive di inclusione dei file header che utilizzerà il linker */ #include <cv.h> #include <cxcore.h> #include <highgui.h> /* si definiscono tre puntatori a IplImage */ IplImage* frame, *original, *processed; /* si definisce un puntatore a CvCapture */ CvCapture* capture; void main() /* si inizia la programmazione della funzione principale */ /* si definiscono e inizializzano media e deviazione standard nei tre canali ai valori necessari per filtrare solamente il pannello rosso */ int red_avg = 128; int red_std_dev = 128; 23

32 Capitolo 2. Elaborazione dell Immagine Filtraggio del Colore int green_avg = 128; int green_std_dev = 128; int blue_avg = 128; int blue_std_dev = 128; /* il file video da elaborare viene aperto */ capture = cvcapturefromfile( "test.avi" ); /* finchè non viene premuto il tasto esc... */ for(;;) /* in frame viene inserito il fotogramma attuale */ frame = cvqueryframe( capture ); /* se frame punta a NULL, ossia se il filmato è finito */ if (!frame ) break; /* se original punta a NULL */ if (!original ) /* viene creata l'immagine original con stesse dimensioni di frame, 3 canali e profondità di colore pari a 8-bit */ original = cvcreateimage( cvgetsize( frame ), IPL_DEPTH_8U, 3 ); /* si crea anche l'immagine processed, con stesse caratteristiche di original ma un numero di canali pari a 1 ( immagine in scala di grigio ) */ processed = cvcreateimage( cvgetsize( frame ), IPL_DEPTH_8U, 1 ); /* il sistema di riferimento delle due immagini è preso uguale a quello di frame */ original->origin = frame->origin; processed->origin = frame->origin; /* il fotogramma attuale viene copiato in original */ cvcopy( frame, original ); /* viene creata una finestra che si adatta alle dimensioni dell'immagine con etichetta "Flusso Video" */ cvnamedwindow( "Flusso Video", CV_WINDOW_AUTOSIZE ); /* in questa sezione vengono create sei trackbar e vengono inserite nella finestra di intestazione "Flusso Video". Le trackbar regolano il valore di media e deviazione standard nei tre canali */ cvcreatetrackbar( "media R", "Flusso Video", &red_avg, 255, NULL ); cvcreatetrackbar( "dev.standard R", "Flusso Video", &red_std_dev, 255, NULL ); cvcreatetrackbar( "media G", "Flusso Video", &green_avg, 255, NULL ); cvcreatetrackbar( "dev.standard G", "Flusso Video", &blue_std_dev, 255, NULL ); cvcreatetrackbar( "media B", "Flusso Video", &blue_avg, 255, NULL ); cvcreatetrackbar( "dev.standard B", "Flusso Video", &green_std_dev, 255, NULL ); 24

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Come masterizzare dischi con Nero 11

Come masterizzare dischi con Nero 11 Come masterizzare dischi con Nero 11 Non c è dubbio che Nero è diventato un sinonimo di masterizzatore di dischi, data la lunga esperienza sul mercato. Molte persone pensano in questo programma nel momento

Dettagli

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA In questo tutorial verrà illustrato come sfruttare la flessibilità del componente "Catalogo E-commerce" per realizzare un classico negozio a griglia, del tipo di

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

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

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18 Procedura di aggiornamento Il gestionale sempre in tasca! Documentazione utente Pagina 1 di 18 Sommario Avvertenze... 3 Operazioni preliminari... 3 Salvataggi... 3 Download aggiornamenti... 5 Aggiornamento

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

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

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon

Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon NOTE PRELIMINARI: 1. La versione analizzata è quella del laboratorio beta della sede S. Davide di Porto, ma il programma è presente anche nel laboratorio alfa (Porto) e nel laboratorio di informatica della

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA Redatto da IZ1FAL Secco Marco Pagina 1 di 15 INDICE 1 1- INSTALLAZIONE... 3 1-1 Scaricare i pacchetti aggiornati... 3 1-2 Startup

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

Statistica 4038 (ver. 1.2)

Statistica 4038 (ver. 1.2) Statistica 4038 (ver. 1.2) Software didattico per l insegnamento della Statistica SERGIO VENTURINI, MAURIZIO POLI i Il presente software è utilizzato come supporto alla didattica nel corso di Statistica

Dettagli

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 (CLASSI NON CAMPIONE) Prova nazionale 2010 11 1 A.S. 2010 11 Pubblicato

Dettagli

ACCESSO AL SISTEMA HELIOS...

ACCESSO AL SISTEMA HELIOS... Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO

Dettagli

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina [Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Gestire immagini e grafica con Word 2010

Gestire immagini e grafica con Word 2010 Gestire immagini e grafica con Word 2010 Con Word 2010 è possibile impaginare documenti in modo semi-professionale ottenendo risultati graficamente gradevoli. Inserire un immagine e gestire il testo Prima

Dettagli

STUDIUM.UniCT Tutorial per gli studenti

STUDIUM.UniCT Tutorial per gli studenti STUDIUM.UniCT Tutorial per gli studenti Studium.UniCT Tutorial Studenti v. 6 06/03/2014 Pagina 1 Sommario 1. COS È STUDIUM.UniCT... 3 2. COME ACCEDERE A STUDIUM.UniCT... 3 3. COME PERSONALIZZARE IL PROFILO...

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

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

Progetto INCOME. Manuale Utente Operatore Installazione

Progetto INCOME. Manuale Utente Operatore Installazione VERSIONI Manuale Utente Operatore Installazione Tosca-Mobile VERS. Motivo Modifiche Data Approvazione Approvatore 1.0 Prima emissione 02/12/11 1/21 Sommario SOMMARIO... 2 INTRODUZIONE... 3 1.1. CONTENUTI

Dettagli

MAUALE PIATTAFORMA MOODLE

MAUALE PIATTAFORMA MOODLE MAUALE PIATTAFORMA MOODLE La piattaforma moodle ci permette di salvare e creare contenuti didattici. Dal menù principale è possibile: inviare dei messaggi agli altri docenti che utilizzano la piattaforma:

Dettagli

[Tutoriale] Realizzare un cruciverba con Excel

[Tutoriale] Realizzare un cruciverba con Excel [Tutoriale] Realizzare un cruciverba con Excel Aperta in Excel una nuova cartella (un nuovo file), salviamo con nome in una precisa nostra cartella. Cominciamo con la Formattazione del foglio di lavoro.

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 IMPORTANTE: forse non visualizzate questa barra, se così fosse usiamo questa procedura: posizioniamo il cursore sulla parte vuota tasto destro del

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

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

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Guida all uso del portale www.revisoreweb.it per il software Bilancio di previsione 2012

Guida all uso del portale www.revisoreweb.it per il software Bilancio di previsione 2012 Guida all uso del portale www.revisoreweb.it per il software Bilancio di previsione 2012 Per accedere all uso del prodotto Schema di relazione dei revisori al Bilancio di previsione degli Enti Locali per

Dettagli

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

Dettagli

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER. STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER. Windows 7 e 8 strumenti per l ipovisione. Windows Seven/8 offrono ottimi strumenti per personalizzare la visualizzazione in caso di ipovisione: - una lente di

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

EMISSIONE FATTURE: LA STAMPA AVANZATA

EMISSIONE FATTURE: LA STAMPA AVANZATA EMISSIONE FATTURE: LA STAMPA AVANZATA PREMESSA Con la release 09/07/14, è stata introdotta la procedura STAMPA AVANZATA. In estrema sintesi, consiste nell esportazione delle fatture emesse in un modello

Dettagli

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO 4.1 PER INIZIARE 4.1.1 PRIMI PASSI COL FOGLIO ELETTRONICO 4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO L icona del vostro programma Excel può trovarsi sul desktop come in figura. In questo caso basta

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1 Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario

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

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Software standard Alpi Label Ver. 2.2.0.0

Software standard Alpi Label Ver. 2.2.0.0 Pag. 1 di 16 Manuale utente Software standard Alpi Label Ver. 2.2.0.0 Pag. 2 di 16 1 SOMMARIO Sommario 1 Sommario... 2 2 Specifiche Tecniche... 3 3 Maschera Principale... 4 4 Funzioni menù... 7 Pag. 3

Dettagli

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori Questa documentazione conterrà tutti i dettagli operativi relativi all impatto della nuova applicazione web di

Dettagli

[NOIGEST.IT REV.02] GUIDA ALLA NUOVA INTERFACCIA WEB DELL APPLICATIVO DI GESTIONE DI CIRCOLI E ORATORI

[NOIGEST.IT REV.02] GUIDA ALLA NUOVA INTERFACCIA WEB DELL APPLICATIVO DI GESTIONE DI CIRCOLI E ORATORI 2013 [NOIGEST.IT REV.02] GUIDA ALLA NUOVA INTERFACCIA WEB DELL APPLICATIVO DI GESTIONE DI CIRCOLI E ORATORI 1 GUIDA ALLA NUOVA INTERFACCIA WEB DELL APPLICATIVO DI GESTIONE DI CIRCOLI E ORATORI INTRODUZIONE

Dettagli

Manuale per i redattori del sito web OttoInforma

Manuale per i redattori del sito web OttoInforma Manuale per i redattori del sito web OttoInforma Contenuti 1. Login 2. Creare un nuovo articolo 3. Pubblicare l articolo 4. Salvare l articolo in bozza 5. Le categorie 6. Modificare un articolo 7. Modificare

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

I file PDF possono essere creati : 1. dall interno del programma Adobe 2. Per quelli che lo prevedono direttamente dall interno di altri programmi

I file PDF possono essere creati : 1. dall interno del programma Adobe 2. Per quelli che lo prevedono direttamente dall interno di altri programmi I file PDF possono essere creati : 1. dall interno del programma Adobe 2. Per quelli che lo prevedono direttamente dall interno di altri programmi quali: 3. Tutto il pacchetto Office di Microsoft, 4. alcuni

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione Sistema inoltro telematico Manuale utente Versione 10 Data aggiornamento: 14/09/2012 Pagina 1 (25) Sommario 1. Il sistema di inoltro telematico delle

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Il mio Garmin. Questo sconosciuto!

Il mio Garmin. Questo sconosciuto! Il mio Garmin Questo sconosciuto! Cosa ci proponiamo stasera Presentarvi e illustrare I punti essenziali per utilizzare il programma Autoroute 2010 Come creare un percorso sul proprio PC, saltare i paesi,

Dettagli

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA SOFTWARE RICAMBI CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 3 ISTRUZIONI PER L USO 1 CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE

Dettagli

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione SUI Sportello Unico Immigrazione Sistema inoltro telematico Manuale utente Versione 9 Data aggiornamento 19/11/2010 17.19.00 Pagina 1 (1) Sommario 1.

Dettagli

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

CERTIFICATI DIGITALI. Manuale Utente

CERTIFICATI DIGITALI. Manuale Utente CERTIFICATI DIGITALI Procedure di installazione, rimozione, archiviazione Manuale Utente versione 1.0 pag. 1 pag. 2 di30 Sommario CERTIFICATI DIGITALI...1 Manuale Utente...1 Sommario...2 Introduzione...3

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

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

[FINANZAECOMUNICAZIONE / VADEMECUM]

[FINANZAECOMUNICAZIONE / VADEMECUM] 2011 Finanza e Comunicazione [FINANZAECOMUNICAZIONE / VADEMECUM] [PANNELLO DI CONTROLLO SCRIVERE UN ARTICOLO PUBBLICARE MEDIA CREARE UNA GALLERIA FOTOGRAFICA MODIFICHE SUCCESSIVE CAMBIARE PASSWORD SALVARE,

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

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

Creare un nuovo articolo sul sito Poliste.com

Creare un nuovo articolo sul sito Poliste.com Creare un nuovo articolo sul sito Poliste.com Questa breve guida ti permetterà di creare dei nuovi articoli per la sezione news di Poliste.com. Il sito Poliste.com si basa sulla piattaforma open-souce

Dettagli

Eclipse - Nozioni Base

Eclipse - Nozioni Base Eclipse - Nozioni Base Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

PowerPoint. Guida introduttiva

PowerPoint. Guida introduttiva PowerPoint Guida introduttiva Informativa Questa guida nasce con l intento di spiegare in modo chiaro e preciso come usare il software Microsoft PowerPoint. In questa guida saranno tralasciati tutti quei

Dettagli

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 Progetto ICoNLingua Scienza senza Frontiere CsF- Italia Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 1. Introduzione La valutazione sia in itinere

Dettagli

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

MANUALE UTENTE. Computer Palmare WORKABOUT PRO MANUALE UTENTE Computer Palmare WORKABOUT PRO INDICE PROCEDURA DI INSTALLAZIONE:...3 GUIDA ALL UTILIZZO:...12 PROCEDURA DI AGGIORNAMENTO:...21 2 PROCEDURA DI INSTALLAZIONE: Per il corretto funzionamento

Dettagli

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

I.N.A.I.L. Certificati Medici via Internet. Manuale utente I.N.A.I.L. Certificati Medici via Internet Manuale utente CERTIFICATI MEDICI... 1 VIA INTERNET... 1 MANUALE UTENTE... 1 COME ACCEDERE AI CERTIFICATI MEDICI ON-LINE... 3 SITO INAIL... 3 PUNTO CLIENTE...

Dettagli

Creare un sito Multilingua con Joomla 1.6

Creare un sito Multilingua con Joomla 1.6 Creare un sito Multilingua con Joomla 1.6 Istruzioni Vai a: navigazione, ricerca Testo originale: http://docs.joomla.org/language_switcher_tutorial_for_joomla_1.6 Questa guida è valida sia per Joomla 1.6

Dettagli

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) ------------------------------------------------- GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)... 1 Installazione Billiards Counter... 2 Primo avvio e configurazione

Dettagli

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati

Dettagli

Copia di DVD by Mira Marco

Copia di DVD by Mira Marco Copia di DVD by Mira Marco Avviare l icona simile al volpino rosso cliccandoci due volte con il tasto sinistro: non succede nulla? No, però se guardi bene vicino all ora è apparsa l icona del volpino Icona

Dettagli

Servizio Feed RSS del sito CNIT

Servizio Feed RSS del sito CNIT Servizio Feed RSS del sito CNIT Informiamo tutti gli utenti CNIT che è possibile sincronizzare i propri Reader (RSS) per essere aggiornati in tempo reale sulle nuove pubblicazioni di articoli postati sul

Dettagli