Spresense Cameraのキャプチャ画像をSDカードに保存して、「RAW pixels viewer」を使って表示させてみました。なお、「YUV422」は8ビットの画像データですが、RAW pixels viewerのパラメータ「Predefined format」には対応するフォーマットがありません。このため代わりに「YUY2」を使用します。青系の画像になりました。

なお、起動時には次のようにSpresense Cameraを初期化します。


err = theCamera.begin();

// Set the Auto white balance parameter 
err = theCamera.setAutoWhiteBalanceMode(CAM_WHITE_BALANCE_AUTO);

// Set the still picture parameters
err = theCamera.setStillPictureImageFormat(
          320,
          320,
          CAM_IMAGE_PIX_FMT_YUV422);

ストリーミングで画像をキャプチャする場合は次のAPIを使用します。なおストリーミングでキャプチャされた画像は、LCDに表示させます。


// Start video stream
err = theCamera.startStreaming(true, camera_CallBack);

// Stop video stream
theCamera.startStreaming(false, camera_CallBack);

「takePicture」APIによるキャプチャ画像

次のように「takePicture」APIによるキャプチャ画像を取得します。

CamImage img = theCamera.takePicture();

取得した画像を「RAW pixels viewer」で表示します。

「resizeImageByHW」APIによるキャプチャ画像

次のように「resizeImageByHW」APIによるキャプチャ画像を取得します。

CamImage res_img;
 img.resizeImageByHW(res_img, 160, 160);

取得した画像を「RAW pixels viewer」で表示します。

「convertPixFormat」APIによるキャプチャ画像

次のように「convertPixFormat」APIによるキャプチャ画像を取得します。

res_img.convertPixFormat(CAM_IMAGE_PIX_FMT_GRAY);

取得した画像を「RAW pixels viewer」で表示します。

ストリーミングのコールバックによるストリーミング画像

ストリーミングのコールバックにパラメータで渡されたストリーミング画像を取得し、取得した画像を「RAW pixels viewer」で表示します。

LCD描画用に変換したトリーミング画像

次のようにLCD描画用に変換したトリーミング画像を取得します。LCD描画用にポジネガ反転させているので、RAW pixels viewerのパラメータ「invert」をチェックします。

 img.convertPixFormat(CAM_IMAGE_PIX_FMT_RGB565);

取得した画像を「RAW pixels viewer」で表示します。