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」で表示します。