Tire uma foto do terminal

58

Quero poder tirar uma foto usando a webcam do terminal. Esta imagem será salva em um arquivo. Como isso pode ser feito?

Luis Alvarado
fonte

Respostas:

32

Se você está procurando algo automatizado, webcamé bastante decente. Tem muitas opções encantadoras para enviar as fotos pela Internet.

Se você quiser algo mais manual, e estamos falando de uma câmera suportada por V4L / UVC (a maioria), você pode usar streamerpara capturar um quadro do dispositivo:

streamer -f jpeg -o image.jpeg
Oli
fonte
Obrigado Oli. Não sabia que existia um programa de webcam chamado WEBCAM (A ironia ...). E sim, a webcam está na lista de compatíveis com V4L.
22612 Luis Alvarado
46

Há outro aplicativo que pode ser usado para capturar as imagens da webcam denominada Fswebcam . você pode instalar isso com

sudo apt-get install fswebcam

você pode obter uma amostra com o seguinte comando.

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

Na sintaxe do código acima, -rsignifica Resolução da imagem, --jpegtipo de formato da imagem e 85padrão de qualidade, número -Dde atraso definido antes da captura.

Agora sua imagem finalmente foi salva com o nome web-cam-shot.jpg.

Espero que ajude.

rɑːdʒɑ
fonte
9
No meu caso, minha máquina de teste, tive que pular quadros para obter a imagem certa. Se eu tirar as primeiras fotos, a foto ficará muito escura, porque a câmera ainda não estava pronta. fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
msmafra
@tenshimsm Passei 10 minutos descobrindo o que havia de errado com a minha câmera fswebcam e depois removi o pacote. Instalei novamente apenas para tentar sua abordagem, 30 quadros funcionaram para mim. Obrigado :)
Chirag Bhatia - chirag64
Com a minha webcam Sodial de 5,99 €, avconvfunciona melhor.
Avio
o que eu ferida útil é: v4lctl brilhante 50% # apt-get install xawtv
Grzegorz Wierzowiecki
--no-banner (remove o banner inferior com carimbo de data / hora)
João Cartucho 20/02
20

Usando avconvou ffmpeg, você também pode capturar um quadro do seu dispositivo. Por exemplo:

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

Isso abrirá /dev/video0como um video4linux2dispositivo compatível, configurará a resolução para 640x480, transmitirá por 2 segundos ( 00:00:02ou simplesmente 2) e capturará um oneúnico quadro, salvando-o em /tmp/out.jpg.

Verifique se o seu dispositivo é /dev/video0, pois pode ser diferente para você.

As resoluções disponíveis dependem da sua webcam. O meu chega a 640x480 e eu o verifiquei com uma ferramenta chamada qv4l2, usada para configurar um dispositivo video4linux2.

O -ssparâmetro é usado para permitir que o dispositivo inicialize corretamente. Aqui nos meus testes, há um efeito de desvanecimento enquanto a câmera está sendo ligada. Portanto, se eu omitir -ss 2, o quadro capturado ficará muito escuro.

Alexandre Schmidt
fonte
Eu preferi essa solução, pois já havia instalado o avconv. Além disso, a saída do avconv também fornece dicas para a resolução máxima, pois o driver v4l mostra se ele precisa recorrer a uma especificação mais baixa.
icedwater
10

Você também pode tentar o uvccapture .

uvccapture -m
Bibhas
fonte