Newsgroup: it.comp.lang.visual-basic
Titolo: catturare video da webcam

Ciao.
da vb6 vorrei catturare video e audio da una webcam, e salvarlo in
formato avi o mpg - o qualsiasi cosa, basta che sia visualizzabile ;-)
il progetto VidCap del sito comune cattura solamente un singolo
fotogramma (malgrado "dichiari" di fare tutto)
mi sapete dare delle dritte?
Grazie.

 formato avi o mpg - o qualsiasi cosa, basta che sia visualizzabile ;-)
Ciao, io ho utilizzato per alcuni progetti di videosorveglianza questo
controllo free e mi sono sempre trovato bene (anche su applicazioni attive
24 ore su 24)
http://www.shrinkwrapvb.com/ezvidcap.htm

bene, bene, lo provo subito.
Grazie molte.
mentre ci sono... parli di videosorveglianza: hai anche fatto in modo
che il tuo prog si "accorga" se qualcosa si muove? intendo un allarme
su movimento?

 su movimento?
     No, non ci ho nemmeno provato. Solo registrazione lineare su hard disk.
Sarebbe interessante provare, anche perche' il controllo consente anche la
cattura di singoli fotogrammi (che eventualmente potresti confrontare),
l'unico problema temo sia il fatto che VB non sia il linguaggio adatto per
una applicazione del genere.


Risposta seria: mi tocca smentire... non è semplice ma è realizzabile, 
un'applicazione di video-sorveglianza anche da vb.
Nel senso che la feci per un progetto dell'università e girava bene bene su 
di un PIII 720Mhz...
Purtroppo il sorgente non l'ho più qui con me... è rimasto in dipartimento 
:-( Ma mi ricordo molto bene il tipo di approccio.
Le ottimizzazioni del caso sono ovviamente le solite in VB... l'immagine in 
grayscale immagazzinata in una bytearray.. tutti i cicli fatti con lookup 
table e indici e contatori long... eccetera...
Non ho più l'url dell'articolo che ho usato per le ottimizzazioni ma ho lo 
zip sull'hard-disk il titolo è "Graphics Programming in Visual Basic - By: 
Tanner "DemonSpectre" Helland" Se chiedete ve lo posto ...
Invece il tipo di approccio è il seguente...
C'era un immagine di base (quella dell'ambiente preso come campione per 
intenderci) e l'immagine da confrontare
1) L'immagine veniva quantizzata (cioè tutti i valori venivano divisi per 4 
per ridurre il rumore di fondo)
2) Un piccolo blur (opzionale) limitava ancora di più il rumore di fondo
3) Un primo coefficente di controllo veniva calcolato sottraendo cella per 
cella la matrice dell'immagine da confrontare a quella base e facendo la 
somma dei valori assoluti di tale differenza. Questo in un certo senso dava 
la distanza tra le due immagini.
4) Un secondo coefficente di controllo veniva calcolato eseguento un 
algoritmo di edge-detection su entrambe le immagini e facendo la differenza 
di questi due risultati (ho un pdf anche riguardo a questo, proviene 
dall'univ. quindi di nuovo senza url)
5) Se uno di questi due cofficenti era superiore al limite di guardia 
(calcolato sperimentalmente) questo era il segnale e l'applicazione 
registrava un tot di secondi video preimpostati (nel mio caso erano 5)
6) usando gli ultimi due fotogrammi ripeteva e decideva se continuare a 
registrare o rientrare in modalità sorveglianza.
7) se invece i coefficenti non erano fuori dai limiti riprendeva 
dall'inizio. Nel caso però fosse impostato il flag di ambiente a luminosità 
variabile (cioè una stanza con una finestra) il sistema sostituiva 
l'immagine di base con l'immagine da confrontare per seguire il lento mutare 
della luce del giorno
Se a qualcuno interessa posso  vedere di recuperare i sorgenti
Riccardo 

interessa? SI !