2-06 カメラのRGB565フォーマットに合わせる
●カメラから画像データが出てくる
図2‐31は本企画で使用するCMOSカメラモジュール(OV5642)です。このモジュールからVGAサイズのカラー(RGB)動画が出てきますが、そのデータバスは8ビットしかありません。 |
図2-31
●RGB565フォーマットとは
図2‐32に画像データバスCamDataからのデータフォーマットを示します。
R/G/Bの成分はそれぞれ5/6/5ビットで、R(5bit)&G(3bit)で計8ビット、その次はG(3bit)&B(5bit)で計8ビット・・・このようにRGB成分が多重化され、1画素が2回に分けて送られます。 |
図2‐32
●Pythonもカメラと同じフォーマットにする
ここでは入力画像を0〜255の範囲で整数化しました(符号なし8ビット)。RGB、3色で計24ビットになりますが、実際にカメラから送られる画像はRGB565で計16ビットになります。
本企画では最終的に「Pythonでの演算」と「FPGA内部での演算」の一致を見ます。そのためには、入力画像のビット数もそろえなければなりません。 |
図2‐33 X_testの操作
●下位ビットを切り捨ててRGB565にする
したがって図2‐33のようにX_test(入力画像が入る変数)を操作します。BとRは8で割る→小数点以下切り捨て→8を掛ける→これで下位3ビットが0になり、実質的に5ビットになります。
Gだけは6ビットあるので4で割る→小数点以下切り捨て→4を掛ける→これで下位2ビットが0になます。
このようにPythonにおける入力画像をカメラモジュールと同じRGB565とします。 |
次のページへ
目次へ戻る
|