Sono di ritorno dalla lezioni del Dr. Antonio Camurri, professore all’università che frequento, dove ci insegna “Elaborazione dell’Immagine“, e dove ci ha presentato un suo software, un elaboratore audio/video in tempo reale, in grado di elaborare dati da sorgenti molto diverse fra loro (AVI o videocamere, anche da normali Webcam e/o microfoni PC).
EyesWeb (questo il nome del software) funziona in modo simile a Microsoft GraphEdit, il famoso tool per convertire file multimediali tramite i filtri directshow, attraverso interfacce visuali a blocchi.
Il software è molto interessante: permette di creare effetti in tempo reale anche su immagini in diretta da una semplice webcam da PC, aggiungendo e connettendo i vari blocchi che sono inclusi nell’installazione base. Gli sviluppatori possono anche scrivere nuovi blocchi (attraverso il linguaggio C++).
Il principale vantaggio di questo tipo di software penso risieda nella grande velocità, che non richiede certo un PC della NASA per creare dei buoni effetti.
Un esempio:
trasciniamo il blocco “FrameGrabber” dalla colonna di sinistra (Imaging > Input) sullo ”stage” della destra. Quindi facciamo doppio click e scegliamo la nostra webcam nel campo “Device”.
Ora trasciniamo anche il blocco “Display“ dalla cartella “Output” e piazziamolo vicino al FrameGrabber; clicchiamo sul piccolo rettangolo (il “pin”) sul perimetro del blocco FrameGrabber e poi su quello del Display, per connetterli insieme, come in figura.
Abbiamo così creato un semplice… visualizzatore della nostra webcam ;) Per controllare se funziona, premiamo ALT+K sulla tastiera. Dovremmo vedere le immagini in diretta riprese dalla webcam (Eyesweb ci chiederà di salvare il progetto, il cosiddetto “patch”. Salviamolo tranquillamente o clicchiamo su annulla, ad ogni modo è meglio salvarlo, perlomento per evitare che il programma ce lo chieda di nuovo). Alla fine premiamo ALT-H per terminare l’esecuzione.
Prepariamo qualcosa di più interessante: clicchiamo sulla linea che connette FrameGrabber e Display e premiamo CANC sulla tastiera, per cancellarla.
Ora trasciniamo 3 copie di “ExtractChannel” (Imaging > Operations, nel navigatore dei blocchi) e connettiamo FrameGrabber a questi, come ho fatto io nella figura a sinistra.
Facciamo doppio click su ognuno di essi, scegliendo rispettivamente Channel 1, 2, 3 per il 1°, 2° e 3° blocco. Stiamo così separando i canali Rosso, Verde e Blu della nostra sorgente.
Ora vogliamo impostare differenti ritardi per ognuno dei 3 canali: trasciniamo 3 copie del blocco “Queue“ (dalla cartella “Generic”), e connettiamo ognuno di essi con ognuno dei blocchi ExtractChannel.
Apriamo le proprietà di ogni blocco Queue e scegliamo ritardi diversi (chiamati “Lenght“) per ognuno di essi. La mia scelta è stata di impostarli rispettivamente a 5, 10 e 15.
Infine vogliamo ricomporre l’immagine e riattivare il monitor: trasciniamo un blocco ”ComposeChannels“ (Imaging > Operations), connettiamo i 3 pin dei blocchi Queue blocks a questo, e questo al blocco display:
Il nostro grafico è finito. Premiamo ALT+K per vederlo in azione!
Vi prego di prendere nota che non ho capito come far funzionare l’ultima versione di EyesWeb (4.0.2.0). Questa piccola introduzione è basata sulla versione 3.3.0.
http://www.eyesweb.org