Differenze tra le versioni di "Catturare un'immagine con una webcam mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
(8 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per catturare un'immagine (come se in sostanza si scattasse una foto) con una webcam mediante il Componente ''gb.media'' <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 | ||
− | + | 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> | ||
− | + | src["num-buffers"] = 1 | |
− | + | enc = New MediaControl(pl, "jpegenc") | |
− | + | snk = New MediaControl(pl, "filesink") | |
− | + | snk["location"] = "/tmp/immagine.jpg" | |
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Collega fra loro i plugin di "GStreamer":''</font> |
− | + | src.LinkTo(enc) | |
− | + | enc.LinkTo(snk) | |
<FONT Color=gray>' ''Effettua la ripresa dell'immagine:''</font> | <FONT Color=gray>' ''Effettua la ripresa dell'immagine:''</font> | ||
− | + | pl.Play() | |
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Con alcune webcam può essere necessario porre una breve pausa per consentire la ripresa dell'immagine:''</font> |
− | + | Wait 1 | |
+ | |||
+ | pl.Stop() | ||
+ | pl.Close() | ||
+ | Print "Cattura immagine effettuata" | ||
− | + | End | |
− | |||
=Note= | =Note= | ||
− | [1] Vedere al riguardo anche questa pagina della wiki: [[ | + | [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]] |
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