3-01 入力画像の整数化

 パソコンで計算するぶんには小数でよいのですが、FPGAで小数の演算は行えません。したがってPythonプログラム内の変数をすべて「整数化」します。


●入力画像を整数化する

 まずは入力される
テスト画像を整数化します。画像は3色(BGR)、300×300画素あり、全色全画素をリスト3-01のようにfloatからintに変換します。

 さらに符号付8ビット(-128〜+127)の範囲に収める用リミッタを設けます。

 またハードウエア化の際はCMOSカメラ(イメージセンサ)を使用しますが、その出力フォーマットがRGB565(3色合計で16ビット)であることを想定して下位ビットを切り捨てます。


リスト3‐01 入力画像の整数化(2-8-SSD_inference.py, ssd_predict_show.py両方に必要)


●整数化した入力画像をファイルに落とす

 今後EXCEL→VHDLに進むにあたり入力画像が必要になるので、リスト3-02のように保存します。CSV(コンマ区切り)なのでEXCELにコピペすることができます。
 またOpenCV(*1)で読み込んだ画像はBGR の順なので注意しましょう。

(*1)インテル社が提供するOpenCVというオープンソースの画像処理ライブラリを使っている


リスト3-02 画像をCSVファイルに落とす


 図3-01に整数化された画像データの一部を示します。符号付8ビットの範囲に入っています。またB(青色)は5ビットなので下位3ビットが常に0になっています。


図3-01 整数化された画像データ(bin.csv)


目次へ戻る