Quero poder tirar uma foto usando a webcam do terminal. Esta imagem será salva em um arquivo. Como isso pode ser feito?
Quero poder tirar uma foto usando a webcam do terminal. Esta imagem será salva em um arquivo. Como isso pode ser feito?
Respostas:
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 streamer
para capturar um quadro do dispositivo:
streamer -f jpeg -o image.jpeg
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, -r
significa Resolução da imagem, --jpeg
tipo de formato da imagem e 85
padrão de qualidade, número -D
de atraso definido antes da captura.
Agora sua imagem finalmente foi salva com o nome web-cam-shot.jpg.
Espero que ajude.
fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
avconv
funciona melhor.
--no-banner
(remove o banner inferior com carimbo de data / hora)
Usando avconv
ou 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/video0
como um video4linux2
dispositivo compatível, configurará a resolução para 640x480
, transmitirá por 2 segundos ( 00:00:02
ou 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 -ss
parâ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.
Você também pode tentar o uvccapture .
uvccapture -m