터미널에서 사진 찍기


58

터미널에서 웹캠을 사용하여 사진을 찍고 싶습니다. 이 이미지는 파일로 저장됩니다. 어떻게 할 수 있습니까?

답변:


32

자동화 된 것을 찾고 있다면 webcam꽤 괜찮습니다. 인터넷을 통해 사진을 푸시하는 멋진 옵션이 많이 있습니다.

더 수동적 인 것을 원하고 V4L / UVC (대부분)에서 지원되는 카메라에 대해 이야기하고 있다면 streamer장치에서 프레임을 캡처하는 데 사용할 수 있습니다 .

streamer -f jpeg -o image.jpeg

고마워 올리. WEBCAM (The irony ...)이라는 웹캠 프로그램을 몰랐습니다. 그렇습니다. 웹캠은 V4L 지원 목록에 있습니다.
Luis Alvarado

46

Fswebcam 이라는 웹캠에서 이미지를 캡처하는 데 사용할 수있는 다른 응용 프로그램이 있습니다 . 당신은 그것을 설치할 수 있습니다

sudo apt-get install fswebcam

다음 명령으로 샘플 촬영을 할 수 있습니다.

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

위의 코드 구문에서는 -r이미지 해상도, 이미지의 --jpeg형식 유형 및 85품질 표준, -D캡처 전에 설정된 지연을 나타냅니다.

이제 이미지가 web-cam-shot.jpg 이름으로 저장되었습니다.

희망이 도움이됩니다.


9
필자의 경우 테스트 시스템에서는 그림을 올바르게 표시하기 위해 프레임을 건너 뛰어야했습니다. 첫 번째 프레임을 촬영하면 카메라가 아직 준비되지 않았기 때문에 사진이 매우 어둡습니다. fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
msmafra

@tenshimsm 10 분 동안 fswebcam의 문제점을 파악한 후 패키지를 제거했습니다. 당신의 접근 방식을 시도하기 위해 다시 설치했는데 30 프레임이 나를 위해 일했습니다. 감사합니다 :)
Chirag Bhatia-chirag64

5.99 € 최첨단 Sodial 웹캠을 사용하면 avconv더 잘 작동합니다.
Avio

내가 상처를 준 것은 : v4lctl bright 50 % # apt-get install xawtv
Grzegorz Wierzowiecki

--no-banner (타임 스탬프 하단 배너 제거)
주앙 Cartucho

20

사용 avconv또는 ffmpeg, 당신은뿐만 아니라 당신의 장치에서 프레임을 캡처 할 수 있습니다. 예를 들면 다음과 같습니다.

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

또는

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

호환 장치 /dev/video0로 열리고 video4linux2해상도를로 설정하고 640x4802 초 동안 ( 00:00:02또는 간단히 2) 스트리밍 한 다음 one단일 프레임 을 캡처하여 에 저장합니다 /tmp/out.jpg.

기기가 /dev/video0다를 수 있으므로로되어 있는지 확인하십시오 .

사용 가능한 해상도는 웹캠에 따라 다릅니다. 내 640x480까지 올라가서 qv4l2video4linux2 장치를 구성하는 데 사용되는 도구를 사용하여 확인했습니다 .

-ss매개 변수는 장치를 올바르게 시작하는 데 사용됩니다. 내 테스트에서 카메라가 켜져있는 동안 페이드 인 효과가 있으므로 생략 -ss 2하면 캡처 된 프레임이 매우 어두워집니다.


avconv를 이미 설치 했으므로이 솔루션을 선호했습니다. 또한 v4l 드라이버가 더 낮은 사양으로 폴백해야하는지 보여주기 때문에 avconv의 출력은 최대 해상도에 대한 힌트도 제공합니다.
icedwater

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.