ターミナルからウェブカメラを使用して写真を撮ることができます。この画像はファイルに保存されます。これをどのように行うことができますか?
自動化された何かを探しているならwebcam
はかなりまともです。インターネット上で写真をプッシュするための素敵なオプションがたくさんあります。
もっとマニュアルが必要で、V4L/UVC(ほとんどの場合)でサポートされているカメラについて話している場合は、streamer
を使用してデバイスからフレームをキャプチャできます。
streamer -f jpeg -o image.jpeg
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という名前で最終的に保存されました。
お役に立てば幸いです。
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
を省略した場合、キャプチャされたフレームは非常に暗くなります。
vccapture を試すこともできます。
uvccapture -m