Voglio essere in grado di scattare una foto usando la webcam dal terminale. Questa immagine verrà quindi salvata in un file. Come si può fare?
Voglio essere in grado di scattare una foto usando la webcam dal terminale. Questa immagine verrà quindi salvata in un file. Come si può fare?
Risposte:
Se stai cercando qualcosa di automatizzato webcam
è abbastanza decente. Ha molte opzioni adorabili per spingere le foto su Internet.
Se vuoi qualcosa di più manuale e stiamo parlando di una fotocamera supportata da V4L / UVC (la maggior parte di essi) puoi usare streamer
per catturare una cornice dal dispositivo:
streamer -f jpeg -o image.jpeg
Esiste un'altra applicazione che può essere utilizzata per acquisire le immagini dalla webcam denominata Fswebcam . puoi installarlo con
sudo apt-get install fswebcam
puoi avere uno scatto di esempio con il seguente comando.
fswebcam -r 640x480 --jpeg 85 -D 1 web-cam-shot.jpg
Nella sintassi del codice sopra, -r
sta per risoluzione dell'immagine, --jpeg
sta per tipo di formato dell'immagine e 85
per il suo standard di qualità, -D
sta per ritardo impostato prima dell'acquisizione.
Ora la tua immagine finalmente salvata con il nome web-cam-shot.jpg.
Spero che aiuti.
fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
avconv
funziona meglio.
--no-banner
(rimuove il banner in basso con timestamp)
Usando avconv
o ffmpeg
, puoi anche catturare una cornice dal tuo dispositivo. Per esempio:
avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg
o
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg
Questo si aprirà /dev/video0
come video4linux2
dispositivo compatibile, imposta la risoluzione su 640x480
, riproduce in streaming per 2 secondi ( 00:00:02
o semplicemente 2
), quindi acquisisce un one
singolo fotogramma, salvandolo su /tmp/out.jpg
.
Controlla se il tuo dispositivo è /dev/video0
, in quanto può essere diverso per te.
Le risoluzioni disponibili dipendono dalla tua webcam. Il mio arriva a 640x480 e l'ho verificato con uno strumento chiamato qv4l2
, che viene utilizzato per configurare un dispositivo video4linux2.
Il -ss
parametro viene utilizzato per consentire l'avvio corretto del dispositivo. Qui nei miei test, c'è un effetto di dissolvenza mentre la fotocamera viene accesa, quindi, se ometto -ss 2
, la cornice acquisita sarà molto scura.
Puoi anche provare uvccapture .
uvccapture -m