カメラライブラリ全般 (overview)

TWLは、本体内に2つのカメラを内蔵しています。
2つのカメラは個別に制御できますが、同時に2つのカメラの画像を得ることはできません。

カメラライブラリは CODEC-DS モードでは使用することはできません。必ず CODEC-TWL モードにしてください。

カメラの操作は、すべてAPI経由で行ってください。

カメラの基本スペック

カメラの基本スペックは次の通りです。

このうち、解像度、エフェクト、反転処理については、それぞれのカメラでそれぞれ2つのコンテキストを扱え、個別に設定する場合に比べて高速にコンテキストスイッチすることができます。

カメラはハードウェアリセット及びスリープ時にライブラリ内で自動的にスタンバイ状態となるようになっています。
スリープ復帰時にカメラを有効にしたい場合は、アプリケーション側で対処する必要があります。

カメラ設定の初期値について

カメラ起動時(CAMERA_Init() を呼び出した際)の初期値のなかで、コンテキストで扱えるものは、次のようになっています。

内側カメラ:コンテキストA
解像度CAMERA_SIZE_DS_LCD
エフェクトCAMERA_EFFECT_NONE
反転処理CAMERA_FLIP_HORIZONTAL

内側カメラ:コンテキストB
解像度CAMERA_SIZE_VGA
エフェクトCAMERA_EFFECT_NONE
反転処理CAMERA_FLIP_HORIZONTAL

外側カメラ:コンテキストA
解像度CAMERA_SIZE_DS_LCD
エフェクトCAMERA_EFFECT_NONE
反転処理CAMERA_FLIP_NONE

外側カメラ:コンテキストB
解像度CAMERA_SIZE_VGA
エフェクトCAMERA_EFFECT_NONE
反転処理CAMERA_FLIP_NONE

デフォルトのコンテキストは、内側カメラ、外側カメラどちらもコンテキストAになります。

それ以外の、コンテキストで扱えないものの初期値は、次のようになっています。

内側カメラ
フレームレートCAMERA_FRAME_RATE_15
撮影モードCAMERA_PHOTO_MODE_PORTRAIT

外側カメラ
フレームレートCAMERA_FRAME_RATE_15
撮影モードCAMERA_PHOTO_MODE_NORMAL


内側カメラ、外側カメラ共通の設定についての初期値は、次のようになっています。

出力形式CAMERA_OUTPUT_YUV
転送ライン数1ライン

具体的なパラメータの意味については、リンク先の説明を参照してください。

RGB変換について

カメラからの画像データは、YCrYCb (YUV4:2:2) フォーマットまたは RGB (RGB5:5:5) で得られます。

YUV4:2:2からRGB8:8:8への変換式は次の通りです。

R = 1.000 x Y                     + 1.402 x (V - 128)
G = 1.000 x Y - 0.344 x (U - 128) - 0.714 x (V - 128)
B = 1.000 x Y + 1.772 x (U - 128)

計算結果が0以下または255以上となった場合は丸められます。
その後、0〜31にスケーリングされ、RGB5:5:5となります。

なお、逆変換式は次のようになります。

Y =  0.299 x R + 0.587 x G + 0.114 x B
U = -0.169 x R - 0.331 x G + 0.500 x B + 128
V =  0.500 x R - 0.419 x G - 0.081 x B + 128

参照

CAMERA 関数一覧

履歴

2009/06/09 カメラの基本スペックについての説明更新
2008/10/06 カメラライブラリを使用するための CODEC の制限について説明追加
2008/09/11 カメラの初期値について説明追加
2008/04/21 カメラ設定の初期値について、撮影モードを追加
2008/03/17 ハードウェアリセット時とスリープ時の動作について説明追加
2007/11/14 初版