Differenze tra le versioni di "Catturare un'immagine con una webcam mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
− | Per catturare un'immagine (come se in sostanza si scattasse una foto) con una webcam mediante il Componente ''gb.media'' <B><SUP>[[[#Note| | + | Per catturare un'immagine (come se in sostanza si scattasse una foto) con una webcam mediante il Componente ''gb.media'' <B><SUP>[[[#Note|nota 1]]]</sup></b> e salvarla poi in un file immagine, si potranno utilizzare le Classi ''MediaPipeline'' e ''MediaControl''. |
Mostriamo un esempio pratico: | Mostriamo un esempio pratico: | ||
− | + | Public Sub Main() | |
− | + | ||
Dim pl As MediaPipeline | Dim pl As MediaPipeline | ||
Dim src, enc, snk As MediaControl | Dim src, enc, snk As MediaControl | ||
− | + | ||
− | |||
− | |||
− | |||
pl = New MediaPipeline | pl = New MediaPipeline | ||
− | + | ||
src = New MediaControl(pl, "v4l2src") | src = New MediaControl(pl, "v4l2src") | ||
<FONT Color=gray>' ''Cattura un fotogramma dalla webcam e lo salva come immagine jpeg:''</font> | <FONT Color=gray>' ''Cattura un fotogramma dalla webcam e lo salva come immagine jpeg:''</font> | ||
Riga 17: | Riga 14: | ||
enc = New MediaControl(pl, "jpegenc") | enc = New MediaControl(pl, "jpegenc") | ||
snk = New MediaControl(pl, "filesink") | snk = New MediaControl(pl, "filesink") | ||
− | snk["location"] = | + | snk["location"] = "/tmp/immagine.jpg" |
<FONT Color=gray>' ''Collega fra loro i plugin di "GStreamer":''</font> | <FONT Color=gray>' ''Collega fra loro i plugin di "GStreamer":''</font> | ||
Riga 28: | Riga 25: | ||
<FONT Color=gray>' ''Con alcune webcam può essere necessario porre una breve pausa per consentire la ripresa dell'immagine:''</font> | <FONT Color=gray>' ''Con alcune webcam può essere necessario porre una breve pausa per consentire la ripresa dell'immagine:''</font> | ||
Wait 1 | Wait 1 | ||
− | + | ||
− | |||
− | |||
pl.Stop() | pl.Stop() | ||
pl.Close() | pl.Close() | ||
Print "Cattura immagine effettuata" | Print "Cattura immagine effettuata" | ||
− | + | End | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Versione attuale delle 07:25, 18 gen 2024
Per catturare un'immagine (come se in sostanza si scattasse una foto) con una webcam mediante il Componente gb.media [nota 1] e salvarla poi in un file immagine, si potranno utilizzare le Classi MediaPipeline e MediaControl.
Mostriamo un esempio pratico:
Public Sub Main() Dim pl As MediaPipeline Dim src, enc, snk As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "v4l2src") ' Cattura un fotogramma dalla webcam e lo salva come immagine jpeg: src["num-buffers"] = 1 enc = New MediaControl(pl, "jpegenc") snk = New MediaControl(pl, "filesink") snk["location"] = "/tmp/immagine.jpg" ' Collega fra loro i plugin di "GStreamer": src.LinkTo(enc) enc.LinkTo(snk) ' Effettua la ripresa dell'immagine: pl.Play() ' Con alcune webcam può essere necessario porre una breve pausa per consentire la ripresa dell'immagine: Wait 1 pl.Stop() pl.Close() Print "Cattura immagine effettuata" End
Note
[1] Vedere al riguardo anche questa pagina della wiki: Estrarre e salvare singole immagini da una ripresa video mediante WebCam effettuata con il Componente gb.media