PYTHON PICAMRA

python-picameraはラズベリーパイカメラモジュールと Pythonとのインターフェースで、Python2.7(もしくはそれ以上)とPython3.2(もしくはそれ以上) のバージョンで使用可能です。 このライブラリはDave Jonesによって制作されメンテナンスされています。

カメラのセットアップページも確認しておいてください。

インストール

python-picameraライブラリはRaspbianアーカイブで利用可能です。 aptを使ってインストールしてください。

sudo apt-get update
sudo apt-get install python-picamera

Python3のパッケージはsudo apt-get install python3-picameraでインストールできます。 オフラインのドキュメントsudo apt-get install python-picamera-docsで利用可能です。

使い方

最初に、PythonプロンプトもしくはPythonスクリプトの一番上で、次を入力します。

import picamera

これでスクリプトからライブラリが利用可能になります。 それでは、PiCameraクラスのインスタンスを生成しましょう。

camera = picamera.PiCamera()

そして写真を撮ります。

camera.capture('image.jpg')

上下左右の反転

カメラが上下逆に置かれている場合には、 raspistillコマンドと同じように、 上下左右の反転を適用します。 これをhflipvflipプロパティを直接変更することで行います。

camera.hflip = True
camera.vflip = True

Pythonのキーワードになっていますので、TrueTは大文字を使うようにしてください。

プレビュー

スクリーンにカメラフィードのプレビューを表示することができます。 警告: この処理はデフォルトでPythonのセッションと重なって表示されます。 プレビューの停止に問題があった場合には、 Pythonのセッションを終了させるためにCtrl+Dを押せば たいていの場合は画面が元に戻ります。

camera.start_preview()

プレビュー画面を消して元の画面に戻すには、stop_previewメソッドが使用できます。

camera.stop_preview()

SSHを使って別のコンピュータからラズベリーパイにアクセスし、 Pythonプロンプトを開いてこれらのコマンドを入力すると、 ラズベリーパイに接続されたモニタ(SSH接続にきている別のコンピュータのモニタではない)にプレビューを表示することができます。

カメラの設定

プロパティの値を設定することで、他にもカメラの設定を変更することができます。例えば、

camera.brightness = 70

これは明るさ設定をデフォルトの50から70に変更します (設定値の範囲は0から100)。

他の設定も利用可能です。ここでは、それぞれのデフォルトの設定値を示します。

camera.sharpness = 0
camera.contrast = 0
camera.brightness = 50
camera.saturation = 0
camera.ISO = 0
camera.video_stabilization = False
camera.exposure_compensation = 0
camera.exposure_mode = 'auto'
camera.meter_mode = 'average'
camera.awb_mode = 'auto'
camera.image_effect = 'none'
camera.color_effects = None
camera.rotation = 0
camera.hflip = False
camera.vflip = False
camera.crop = (0.0, 0.0, 1.0, 1.0)

スリープ

timeモジュールのsleepを使うことで コマンドの間にスリープを入れることができます。

import picamera
from time import sleep

camera = picamera.PiCamera()

camera.capture('image1.jpg')
sleep(5)
camera.capture('image2.jpg')

プレビューで設定を調整するためにsleepを使うこともできます。

camera.start_preview()

for i in range(100):
    camera.brightness = i
    sleep(0.2)

録画

5秒の動画を撮るには次のようにします。

camera.start_recording('video.h264')
sleep(5)
camera.stop_recording()

ドキュメント

python-picameraの完全なドキュメントは picamera.readthedocs.orgで利用可能です。

開発

python-picameraプロジェクトはDave Jones によって制作されメンテナンスされています。 ソースコードは github.com/waveform80/picamera で確認でき、issueを作成したりプロジェクトに貢献することができます。

このページについて

このページはラズベリーパイ財団が権利を保有するRaspberry Pi Documentation五十嵐システムズが日本語訳したものです。
Creative Commons Attribution 4.0 International Licenceのもとで公開されております。
原文はhttps://github.com/raspberrypi/documentationの成果によって作成されています。

なお、このページは2015年6月に翻訳しており、それ以後の更新内容は翻訳に反映していないため、内容が原文とは異なる場合があります。