Closed3

Spresense Arduino 開発ガイド - Camera ライブラリ

三輪晋三輪晋

サンプルプログラムメモ

プレビューのコールバック関数 CamCB では、ようするに何もしてない。ここで画像を保存するわけじゃないらしい。

画像データの処理は、 getImgBuff で先頭アドレスとサイズしか指定してないので、getImgBuff に JPEG の先頭のアドレスを指しているらしい。

setup
  theSD.begin
  theCamera.begin
  theCamera.startStreaming  ここでコールバック関数を登録する
  theCamera.setAutoWhiteBalanceMode

CamCB
  theCamera.startStreaming したあと動画のフレームレートごとにコールバックされる
  プレビューの情報をシリアルコンソールに出力するだけ
  ここでは画像は処理しない

loop
  1秒間寝る
  CamImage img = theCamera.takePicture()
  if img.isAvailable
    ファイル開いて画像を書いて閉じる
    File myFile = theSD.open(filename, FILE_WRITE);
    myFile.write(img.getImgBuff(), img.getImgSize())
    myFile.close()
三輪晋三輪晋

setAutoWhiteBalanceMode や setStillPictureImageFormat は startStreaming の前におこなわないといけないような。

  • setup と loop はシーケンシャルに処理される。つまりレリーズする前に setAutoWhiteBalanceMode や setStillPictureImageFormat が完了してることは保証される。
  • コールバック関数では画像は処理しない

という実装だから問題ないのか。

このスクラップは2020/11/24にクローズされました