{"id":177,"date":"2006-05-10T22:58:58","date_gmt":"2006-05-10T20:58:58","guid":{"rendered":"http:\/\/riccardo.raneri.it\/blog\/index.php\/2006\/05\/10\/177\/"},"modified":"2006-05-11T02:24:24","modified_gmt":"2006-05-11T00:24:24","slug":"eyesweb-effetti-audiovideo-in-tempo-reale","status":"publish","type":"post","link":"https:\/\/quadracode.com\/hub\/eyesweb-effetti-audiovideo-in-tempo-reale\/","title":{"rendered":"EyesWeb: Effetti Audio\/Video in Tempo Reale"},"content":{"rendered":"<p><img decoding=\"async\" id=\"image69\" title=\"EyesWeb\" alt=\"EyesWeb\" hspace=\"10\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb1.gif\" align=\"left\" \/>Sono di ritorno dalla lezioni del\u00a0<strong>Dr. Antonio Camurri<\/strong>, professore\u00a0all&#8217;universit\u00e0 che frequento, dove ci insegna\u00a0 &#8220;<strong>Elaborazione dell&#8217;Immagine<\/strong>&#8220;, e dove ci ha presentato\u00a0un suo\u00a0software, <strong>un elaboratore audio\/video in tempo reale<\/strong>, in grado di elaborare dati da sorgenti molto diverse fra loro (AVI o videocamere, anche da <strong>normali\u00a0<\/strong><strong>Webcam<\/strong> e\/o\u00a0microfoni PC).<\/p>\n<p><strong>EyesWeb<\/strong> (questo il nome del software)\u00a0funziona in modo simile a <a href=\"http:\/\/www.stokebloke.com\/video\/wmv2avi.php\" target=\"_blank\">Microsoft GraphEdit<\/a>, il famoso tool per convertire file multimediali tramite i filtri\u00a0directshow, attraverso interfacce visuali a blocchi.<\/p>\n<p>Il\u00a0software \u00e8 molto interessante: permette di creare <strong>effetti in tempo reale anche su immagini in diretta <\/strong>da una semplice webcam da PC, aggiungendo e connettendo i vari blocchi che sono inclusi nell&#8217;installazione base. Gli sviluppatori possono anche scrivere nuovi blocchi (attraverso il linguaggio C++).<\/p>\n<p>Il principale vantaggio di questo tipo di\u00a0software penso risieda nella\u00a0<strong>grande velocit\u00e0<\/strong>, che non richiede certo un PC della NASA per creare dei buoni effetti.<\/p>\n<p>Un esempio:<\/p>\n<p><img decoding=\"async\" id=\"image61\" title=\"FrameGrabber\" alt=\"FrameGrabber\" hspace=\"10\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_framegrabber.gif\" align=\"left\" \/>trasciniamo il blocco &#8220;<strong>FrameGrabber<\/strong>&#8221; dalla colonna di sinistra (Imaging > Input) sullo\u00a0&#8220;stage&#8221;\u00a0della destra. Quindi facciamo doppio click e scegliamo la nostra webcam nel campo &#8220;Device&#8221;.<\/p>\n<p><img decoding=\"async\" id=\"image63\" title=\"Framegrabber with Display\" alt=\"Framegrabber with Display\" hspace=\"10\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_framegrabber_with_display.gif\" align=\"left\" \/>Ora trasciniamo anche il blocco &#8220;<strong>Display<\/strong>&#8221;\u00a0dalla cartella &#8220;Output&#8221;\u00a0e piazziamolo vicino al FrameGrabber; clicchiamo sul piccolo rettangolo\u00a0(il &#8220;pin&#8221;) sul perimetro del blocco\u00a0FrameGrabber e poi su quello del Display, per connetterli insieme, come in figura.<\/p>\n<p>Abbiamo cos\u00ec creato un semplice&#8230;\u00a0<strong>visualizzatore della nostra webcam<\/strong>\u00a0\ud83d\ude09 Per controllare se funziona, premiamo\u00a0<strong>ALT+K<\/strong> sulla tastiera. Dovremmo vedere le immagini in diretta riprese dalla webcam (Eyesweb ci chieder\u00e0 di salvare il progetto, il cosiddetto &#8220;patch&#8221;. Salviamolo tranquillamente o clicchiamo su annulla, ad ogni modo \u00e8 meglio salvarlo, perlomento per evitare che il programma ce lo chieda di nuovo). Alla fine premiamo\u00a0<strong>ALT-H<\/strong> per terminare l&#8217;esecuzione.<\/p>\n<p><img decoding=\"async\" id=\"image64\" title=\"FrameGrabber divided in channels\" alt=\"FrameGrabber divided in channels\" hspace=\"10\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_framegrabber_dechannellized.gif\" align=\"left\" \/>Prepariamo qualcosa di pi\u00f9 interessante: clicchiamo sulla linea che connette FrameGrabber\u00a0e Display\u00a0e premiamo CANC sulla tastiera, per cancellarla.<br \/>\nOra trasciniamo 3 copie di &#8220;<strong>ExtractChannel<\/strong>&#8221; (Imaging > Operations,\u00a0nel navigatore dei blocchi) e connettiamo FrameGrabber\u00a0a questi, come ho fatto io nella figura a sinistra.<br \/>\nFacciamo doppio click su ognuno di essi, scegliendo rispettivamente <strong>Channel 1, 2, 3<\/strong> per il 1\u00b0, 2\u00b0 e 3\u00b0 blocco. Stiamo cos\u00ec separando i canali Rosso, Verde e Blu della nostra sorgente.<\/p>\n<p><img decoding=\"async\" id=\"image65\" title=\"FrameGrabber Dechannellized and Delayed\" alt=\"FrameGrabber Dechannellized and Delayed\" hspace=\"10\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_framegrabber_dech_delay.gif\" align=\"left\" \/>Ora vogliamo impostare <strong>differenti <\/strong>ritardi per ognuno dei 3 canali: trasciniamo 3 copie del blocco &#8220;<strong>Queue<\/strong>&#8221;\u00a0(dalla cartella &#8220;Generic&#8221;), e connettiamo ognuno di essi con ognuno dei blocchi ExtractChannel.<\/p>\n<p>Apriamo le propriet\u00e0 di ogni blocco Queue e scegliamo ritardi diversi (chiamati &#8220;<strong>Lenght<\/strong>&#8220;) per ognuno di essi. La mia scelta \u00e8 stata di impostarli rispettivamente a <strong>5, 10 e 15.<\/strong><\/p>\n<p>Infine vogliamo <strong>ricomporre l&#8217;immagine<\/strong> e riattivare il\u00a0monitor: trasciniamo un blocco\u00a0&#8220;<strong>ComposeChannels<\/strong>&#8221;\u00a0(Imaging > Operations), connettiamo i\u00a03 pin\u00a0dei blocchi\u00a0Queue blocks a questo,\u00a0e questo al blocco display:<\/p>\n<p>\u00a0<\/p>\n<div style=\"text-align: center\"><img decoding=\"async\" id=\"image66\" title=\"FrameGrabber Dechannellized Complete\" alt=\"FrameGrabber Dechannellized Complete\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_framegrabber_dechannellized_complete.gif\" \/><\/div>\n<p>\u00a0<\/p>\n<p>Il nostro grafico \u00e8 finito. <strong>Premiamo ALT+K per vederlo in azione!<\/strong><\/p>\n<p>\u00a0<\/p>\n<div style=\"text-align: center\"><img decoding=\"async\" id=\"image67\" title=\"My Graph in Action\" alt=\"My Graph in Action\" src=\"http:\/\/riccardo.raneri.it\/blog\/eng\/wp-content\/uploads\/2006\/05\/eyesweb_done.jpg\" \/><\/div>\n<p>\u00a0<\/p>\n<p>Vi prego di prendere nota che non ho capito come far funzionare l&#8217;ultima versione di EyesWeb\u00a0(4.0.2.0). Questa piccola introduzione \u00e8 basata sulla <strong>versione\u00a03.3.0<\/strong>.<\/p>\n<p><a style=\"font-size: 18px\" href=\"http:\/\/www.eyesweb.org\/\" target=\"_blank\"><strong>http:\/\/www.eyesweb.org<\/strong><\/a><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Sono di ritorno dalla lezioni del\u00a0Dr. Antonio Camurri, professore\u00a0all&#8217;universit\u00e0 che frequento, dove ci insegna\u00a0 &#8220;Elaborazione dell&#8217;Immagine&#8220;, e dove ci ha presentato\u00a0un suo\u00a0software, un elaboratore audio\/video in tempo reale, in grado di elaborare dati da sorgenti molto diverse fra loro (AVI o videocamere, anche da normali\u00a0Webcam e\/o\u00a0microfoni PC). EyesWeb (questo il nome del software)\u00a0funziona in modo&hellip; <a class=\"read-more\" href=\"https:\/\/quadracode.com\/hub\/eyesweb-effetti-audiovideo-in-tempo-reale\/\">Leggi di pi\u00f9<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-programmi"],"acf":[],"fimg_url":false,"_links":{"self":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/comments?post=177"}],"version-history":[{"count":0,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/posts\/177\/revisions"}],"wp:attachment":[{"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/media?parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/categories?post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quadracode.com\/hub\/wp-json\/wp\/v2\/tags?post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}