web-dev-qa-db-ja.com

端末から写真を撮る

ターミナルからウェブカメラを使用して写真を撮ることができます。この画像はファイルに保存されます。これをどのように行うことができますか?

56
Luis Alvarado

自動化された何かを探しているならwebcamはかなりまともです。インターネット上で写真をプッシュするための素敵なオプションがたくさんあります。

もっとマニュアルが必要で、V4L/UVC(ほとんどの場合)でサポートされているカメラについて話している場合は、streamerを使用してデバイスからフレームをキャプチャできます。

streamer -f jpeg -o image.jpeg
32
Oli

Fswebcamという名前のWebカメラから画像をキャプチャするために使用できる別のアプリケーションがあります。あなたはそれをインストールすることができます

Sudo apt-get install fswebcam

次のコマンドでサンプルショットを作成できます。

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

上記のコード構文では、-rは画像解像度、--jpegは画像の形式タイプ、85は品質基準、-Dはキャプチャ前の遅延設定を表します。 。

これで、画像がweb-cam-shot.jpgという名前で最終的に保存されました。

お役に立てば幸いです。

44
rɑːdʒɑ

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を開き、640x480に解像度を設定し、2秒間ストリーミング(00:00:02または単に2)してから、one単一フレーム、/tmp/out.jpgに保存します。

デバイスが異なる可能性があるため、デバイスが/dev/video0であるかどうかを確認してください。

利用可能な解像度はウェブカメラによって異なります。私の場合は640x480までで、qv4l2というツールで確認しました。このツールは、video4linux2デバイスの構成に使用されます。

-ssパラメーターは、デバイスを正常に起動できるようにするために使用されます。ここでのテストでは、カメラの電源を入れているときにフェードイン効果があるため、-ss 2を省略した場合、キャプチャされたフレームは非常に暗くなります。

20

vccapture を試すこともできます。

uvccapture -m
10
Bibhas