【picamera】ラズパイで写真を撮るコードを書いてみた

 

ラズパイには写真を撮るツールが用意されているのでそれを使えば写真は撮れますが、Pythonでコードを書く場合はpicameraと言うライブラリを使うとカメラの制御ができます。

 

picameraを使って簡単なコードを描いてみたいと思います。

 

私の環境

  • Python 3.6
  • Pycharm

 

[toc]

準備

 

使い方は簡単で、picameraをインストールするだけで使えます。

pip install picamera

 

写真を撮る

 

次にコードを書きます。

  • 解像度は、横600px、縦800pxに固定
  • デフォルトだとカメラが上下反転してしまうのでflipをTrueにして修正する
  • 1枚目を撮影
  • 3秒待って2枚目を撮影する

 

import time
import picamera

def main():

    camera = picamera.PiCamera()
    camera.resolution = (600, 800)
    camera.hflip = True
    camera.vflip = True

    camera.capture('test1.jpg')

    time.sleep(3)

    camera.capture('test2.jpg')


if __name__ == '__main__':
    main()

 

ラズパイ上で実行すると2枚の写真が同じディレクトリに生成されます。

 

ちなみに私は MacのPycharmでコードを書き、ラズパイに転送して実行しています。

ファイルの転送には、Pycharm Professional(有料版)のDeploymentと言う機能を使っています。

直感的にコピペして転送できるので便利です。

 

プレビュー動画を撮る

 

picameraには、プレビュー動画をモニタに表示する機能があります。10秒間プレビューを表示するコードを書いてみましょう。

 

** 以下のコードはラズパイにモニタを繋いでから実行してください。(VNCでリモート接続している場合だとプレビューが表示されません。)

import picamera
import time

camera = picamera.PiCamera()
camera.resolution = (600, 800)
camera.hflip = True
camera.vflip = True

camera.start_preview()
time.sleep(10)
camera.stop_preview()

 

遅延もなくサクサク撮れている感じでした。

 

おわり。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog