Prendre une photo du terminal

58

Je veux pouvoir prendre une photo en utilisant la webcam depuis le terminal. Cette image sera ensuite enregistrée dans un fichier. Comment cela peut-il être fait?

Luis Alvarado
la source

Réponses:

32

Si vous cherchez quelque chose d'automatisé, webcamc'est plutôt correct. Il y a beaucoup de belles options pour pousser les photos sur Internet.

Si vous voulez quelque chose de plus manuel, et nous parlons d'une caméra supportée par V4L / UVC (la plupart d'entre elles), vous pouvez utiliser streamerpour capturer une image de l'appareil:

streamer -f jpeg -o image.jpeg
Oli
la source
Merci Oli. Je ne savais pas qu'un programme de webcam appelé WEBCAM (The irony ...) existait. Et oui, la webcam est dans la liste prise en charge par V4L.
Luis Alvarado
46

Il existe une autre application qui peut être utilisée pour capturer les images de la webcam nommée Fswebcam . vous pouvez l'installer avec

sudo apt-get install fswebcam

vous pouvez avoir un exemple de prise de vue avec la commande suivante.

fswebcam -r 640x480 --jpeg 85 -D 1 web-cam-shot.jpg

Dans la syntaxe de code ci-dessus, -rsignifie résolution de l'image, --jpegreprésente le type de format de l'image et 85son standard de qualité, -Dcorrespond au délai défini avant la capture.

Votre image est enfin enregistrée avec le nom web-cam-shot.jpg.

J'espère que ça t'as aidé.

rɑːdʒɑ
la source
9
Dans mon cas, ma machine de test, je devais sauter des images pour obtenir la bonne image. Si je prends les premières images, la photo est très sombre, car l'appareil photo n'était pas encore prêt. fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
msmafra
@tenshimsm J'ai passé 10 minutes à comprendre ce qui n'allait pas avec mon fswebcam, puis j'ai retiré le paquet. Installé à nouveau juste pour essayer votre approche, 30 images ont fonctionné pour moi. Merci :)
Chirag Bhatia - chirag64
Avec ma webcam Sodial à 5,99 €, avconvfonctionne mieux.
Avio
ce que j'ai blessé utile est: v4lctl brillant 50% # apt-get installer xawtv
Grzegorz Wierzowiecki
--no-banner (supprime la bannière du bas avec l'horodatage)
João Cartucho le
21

Avec avconvou ffmpeg, vous pouvez également capturer un cadre à partir de votre appareil. Par exemple:

avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

ou

ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

Cela ouvrira la fenêtre en /dev/video0tant video4linux2qu’appareil compatible, définira la résolution 640x480, diffusera pendant 2 secondes ( 00:00:02ou tout simplement 2), puis capturera oneune image et l’enregistrera /tmp/out.jpg.

Vérifiez si votre appareil est /dev/video0, car il peut être différent pour vous.

Les résolutions disponibles dépendent de votre webcam. Le mien va jusqu'à 640x480 et je l'ai vérifié avec un outil appelé qv4l2, qui est utilisé pour configurer un périphérique video4linux2.

Le -ssparamètre est utilisé pour permettre à l'appareil de démarrer correctement. Ici, dans mes tests, il y a un effet de fondu lors de l'allumage de la caméra, donc, si j'omets simplement -ss 2, l'image capturée sera très sombre.

Alexandre Schmidt
la source
J'ai préféré cette solution car j'avais déjà installé avconv. En outre, la sortie de avconv donne également des indications sur la résolution maximale, comme le montre le pilote v4l s’il doit s’appuyer sur une spécification inférieure.
icedwater
10

Vous pouvez également essayer uvccapture .

uvccapture -m
Bibhas
la source