Catturare immagini da WEB CAM

domenica 06 marzo 2005 - 01.48

kocahoctpa Profilo | Newbie

Salve ragazzi e complimenti per il sito (un vero punto di riferimento!).

Ho realizzato una piccola applicazione che visualizza le immagini riprese da una WEB CAM.
Il tutto avviene tramite la dll di windows avicap32.dll, esattamente come nell'esempio di Giovanni Ferron in questo articolo http://www.dotnethell.it/articles/WebcamCapture.aspx

Il flusso di dati appare nella PictureBox (in modo corretto), qui le immagini scorrono pero' non sono utilizzabili, ovvero non e' possibile accedervi da programma (per esempio leggere i colori dei pixel, ecc.), in pratica si ottiente una PictureBox morta, priva della proprieta' Image (PictureBox.Image), priva di qualsiasi riferimento o referenza alle immagini che vi scorrono.

Chi gia' ravanava con Visual Basic 6 (e versioni inferiori), si ricordera' di una proprieta' AutoRedraw da impostare a True se si voleva accedere all'oggetto image della PictureBox. Forse c'e' qualche cosa di analogo da impostare con dotnet ?

Se riuscissi ad ottenere un oggetto Image con le sequenze riprese dalla cam, potrei convertirlo in una Bitmap e da li andare a leggere i pixel delle immagini acquisite dalla webcam, e fare tutte le manipolazioni necessarie ai miei scopi.. he he he!

Si riesce quindi ad ottenere qualche cosa di manipolabile con le immagini provenienti dalla webcam?

Ho visto che usando la avicap32.dll si ha una funzione che salva su file l'immagine, tuttavia vorrei evitare di salvare il flusso su file per poi ricaricarlo in ram.. vorrei fare tutto in memoria senza passare da disco.

Cordiali saluti e buon proseguimento

Brainkiller Profilo | Guru

Ciao,
grazie per i complimenti da girare anche a Giovanni che ha realizzato l'ottimo articolo.
Io non so dart info in merito ma forse lui si, adesso vedo se si vuole sgranchire un po' le dita e risponde :)

ciao
david

GvnnRules Profilo | Senior Member

Eccomi Eccomi .... mi scuso per il ritardo ... è che è da sabato che non ho un minuto libero, tra lavoro, studio e morosa non era mai finita :-P ... per fortuna che c'è David
Allora ho cercato un pò, effettivamente il comando AutoRedraw non esiste più in VB.net ... ho cercato qualche articolo, cmq non sono un grande esperto, spero che ti possano dare una mano

http://pub13.ezboard.com/fvisualbasicexplorerfrm57.showMessage?topicID=5.topic
http://www.vbdotnetheaven.com/Code/Jun2003/2058.asp

Altrimenti c'è la possibilità di salvare l'immagine nella clipboard di windows, poi recuperare l'immagine da li non saprei come aiutarti ... david ... hai qualche idea? ... che membro del team squattrinato che sono ... il comando è WM_CAP_EDIT_COPY ... questo è il link msdn:
http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_wm_cap_edit_copy.asp

Mi spiace di non esserti stato molto d'aiuto.

Ciaoz
Gvnn

kocahoctpa Profilo | Newbie

OK

Attendo male che vada faccio qualche cosa di temporaneo salvando le immagini nella clipboad.. poi sistemo il codice non appena qualcuno dara' un'indicazione provvidenziale.. he he

Grazie e buon lavoro

kocahoctpa Profilo | Newbie

Caro GvnnRules

Come da te suggerito, per il momento copio il frame nella clipboard, cosi' evito di passare da file..
Domani mattina smanetto ancora un pochettino, sicuramente c'e' qualche sistema per ottenere un image o bitmap direttamente dal flusso dati della webcam senza passare da file o clipboard.. he he

Se trovo qualchwe cosa faro' qui rapporto! A presto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5