Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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