毎月恒例のタイムセール祭りは4/24〜26迄

raspistillコマンドでカメラモジュールを使う基本編

初期画像ニュース

Raspberry Pi Zero W/WHにカメラモジュールを使って監視カメラのような「あんまり監視しないカメラ」を作りました!

ここではその際に使うコマンド「raspistill」のオプション例をご紹介します。

スポンサーリンク

raspistillコマンド

このコマンドはRaspberry Pi のCSIポートにカメラを繋いで使用します。オプションが多く、静止画を撮影するには最適です。

また、動画はraspividコマンドで可能です。

コマンドのオプション(引数)は-?で表示できます。載せておきます。


raspistill -?

コマンドは raspistill [options]で使います。

その中でも方向を変えることが必要です。今回は-rot 180としました。左右反転していましたからそうしました。

他のコマンドオプションは非常に多いです。コマンドオプションの一覧は公式サイトで確認してください。

参考:公式サイトドキュメント(カメラ)

よく使うパラメーター

単純に静止画を撮影するのに指定するパラメーターは、そんなに多くありません。

任意のファイル名を付けて画像を書き出す「-o」、撮影するまでプレビューを出す時間は「-t」、画像が左右反転や上下反対であれば、それを変更する「-rot」「-hf」「-vf」などがあります。

実例

カメラの初期状態はこの形で説明します。反対なら反対で考えてください。

カメラの向き

ケーブルが上です。

使うと分かるのですが、ケーブルは下の状態が正位置です。

これを踏まえて撮影する画像にパラメーターを与えます。

そのまま撮影してみる

コマンド

raspistill -o default.jpg

-oの後にファイル名で書き出せます。間は全て半角スペースです。

撮影された画像はやはり逆さまですね。

初期画像

上下反転してみる

逆さまだったので上下を反転させます。

コマンド

raspistill -vf -o vf.jpg

-vfはバーチカルフリップの略で、縦方向に反転します。

撮影された画像

縦に反転

ラズパイのぬいぐるみ「Babbage Bear」が正しい位置になりました。しかし、まだ左右も反転しているんです。

実はフリップさせているのでこうなります。左右は変えずに上下反転というわけです。

左右に反転してみる

更に左右反転もしてみます。

raspistill -hf -vf -o vhf.jpg

-hfでホライズンフリップになり、左右反転になります。

撮影された画像

上下左右反転

これが正しい位置、現実の位置になります。しかし、分かりにくいですね。正位置での撮影なら、何もパラメーターは要りません。

回転させてみる

Rotate(回転)できるみたいですから、コマンドの長さはあまり変わりませんけど、その方が解りやすいですね!

書式は「-rot 角度」です。

制限として0、90、180、270度だけサポートされています。

コマンド

raspistill -rot 180 -o rot180.jpg

撮影された画像

これで正位置での撮影となります。

カメラのリボンケーブルが下で撮影するなら、何もパラメーターは必要なく、ファイルを書き出す「-o」だけでOKです。

コマンドエラーコード表

上手く動作しない。エラーが出た?ならコード表を確認しましょう。

V1の場合、カメラのレンズユニットが取れていないか確認してください!!私はそれで5分程ハマりました!

そりゃ、レンズが付いていないなら撮影できるわけないわ!!

EX_OK0アプリケーションが正常に実行された(Application ran successfully)
EX_USAGE64コマンドラインパラメータが正しくありません(Bad command line parameter)
EX_SOFTWARE70ソフトウェアまたはカメラのエラー(Software or camera error)
 130Ctrl-Cで終了したアプリケーション(Application terminated by Ctrl-C)

次回はエフェクトもできるようなので試してみたいと思います。

カメラモジュールはソニー製のIMX219PQ画像センサを使用しているので、固定パターンノイズやにじみなどの画質劣化を軽減できます。静止画像解像度は3280 × 2464です。1080p@30fps、720p60及びVGA90をサポート可能です。

続きはこちら「ラズパイの公式カメラモジュール v2.1とv1.3の画像比較テスト」です。

コメント ご感想をお願いします。

  1. アバターjazzwalker より:

    済みません、教えて下さい。
    64bitOSで運用しているのですが、raspistll が入っていないようなのです。これをインストールするにはどうしたら良いのですか?

    因みに、libraspberrypi-bin は最新版が入っているとされていました。

  2. アバターjazzwalker より:

    打ち間違えました。
    ☓ raspistll
    ○ raspistill

    よろしくどうぞ。

    • 私も64bitでは試していませんでした。
      どうやら、少し検索すると、64bit版ではまだ組み込まれていない様子です。ベータ版なので、正式版では搭載されるでしょう。
      公式の掲示板「raspistill is not working on the Rasberry Pi OS 64bit

      通常のカメラ確認方法

      カメラモジュールは繋がっていいるか確認
      vcgencmd get_camera
      繋がっていれば、1と出ます。

      supported=1 detected=1

      これが0ならば、リボンケーブルが上手く刺さっていません。

      で以下を叩いて
      sudo modprobe bcm2835-v4l2
      カメラモジュールのデバイスを確認
      ls /dev/video0 -l
      成功ならエラーではなくデバイスの情報が出ます。

      気が付きませんでした。ベータはベータ版ということみたいです。

      • アバターjazzwalker より:

        ありがとうございました。
        そうでしたか、、正式版を待つ他ないということでしょうね。

        早く正式版が出ないかな。