Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

PiCameraを使って、Python経由でRaspiカメラから静止画を取る

今回の記事ではPiCameraを使って、Python経由でRaspiのカメラモジュールを扱う方法を扱います。

実際のところ

単純な例

フィルタも受信待ちも欲しくない、単に撮りたいだけなら以下の内容で事足ります。

from picamera import PiCamera

with PiCamera() as cam:
  cam.resolution = (1024, 768)
  cam.capture('/home/pi/img/img.jpg')
print("Got a photo!")

試しに実行すると、こんな感じの画像が上記URLに格納されます。
f:id:shuzo_kino:20160730185934j:plain

エラー処理を追加

一応エラー対応しておくと、何かあったらスグ対応出来るかも?

from picamera import PiCamera

try:
  with PiCamera() as cam:
    cam.resolution = (1024, 768)
    cam.capture('/home/pi/img/img.jpg')
  print("Got a photo!")
except:
  print ('error getting a photo')
  raise
プレピューを入れたい場合

画面を確認できる状態でポーズをキメるなりピント合わせの時間が欲しいなどでプレピューが必要な場合、
↑の例に加えてsleepライブラリとstart_preview()関数との合わせ技でいけます。

#sleepライブラリを追加
from time import sleep
from picamera import PiCamera #カメラのライブラリ

try:
  with PiCamera() as cam:
    cam.resolution = (1024, 768)

    cam.start_preview()  # プレピューを追加
    sleep(2)  #二秒の遅延をもたせる

    cam.capture('/home/pi/img/img.jpg')
  print("Got a photo!")
except:
  print ('error getting a photo')
  raise